【问题标题】:I cant change value of Input我不能改变 Input 的值
【发布时间】:2023-04-11 08:51:01
【问题描述】:

我想创建Javascript 简单的计算器,我想在点击时更改<input> 标签的值,我用这个

document.getElementById('input').value = "1" 

但它只输入一次 1,所以我无法输入 11111。什么是问题?你能帮帮我吗?

【问题讨论】:

  • 你能分享完整的代码吗?
  • 试试 document.getElementById('input').value = document.getElementById('input').value+"1";
  • 感谢您的帮助,它有效

标签: javascript html forms input calculator


【解决方案1】:

我不知道这是否是正确的答案,因为没有提供 OP 的代码...

var el = document.getElementById('input');
el.value = 1;

var button = document.getElementById('button')

button.onclick = function() {
 
  el.value = parseInt(el.value) + 1;

}
<input id="input" type="text" name="name" value="">

<button id="button">Add 1!</button>

点击按钮时,该函数将从输入框中检索值,将其转换为整数,然后加1。

如果这不是您想要的答案,请告诉我。

编辑:只是为了澄清。 我使用parseInt() 转换为整数。这样如果 el.value = 1 结果将是 2。但是,如果我不使用parseInt(),我会得到一个连接而不是一个操作,el.value + 1 会做 11,el.value 是一个字符串。

【讨论】:

  • 这不是我想要的答案,我想在每次推送时添加“1”,例如。 “1”“11”“111”
【解决方案2】:

首先,您必须将该字段的值作为

var val = document.getElementById('input').value;

然后添加一个值并在其中显示为

document.getElementById('input').value = val + 1;

这是一个完整的运行代码:

function function_name (argument) {
		var val = document.getElementById('input').value;		 
	 	document.getElementById('input').value = val + 1;
	}
<input id="input" type="text" name="name" value="">
    <button id="button" onclick="function_name()">Press 1!</button>

【讨论】:

  • @Y。当你问这个问题时,你接受了我的回答,答案是根据你想要的问题。那么,为什么您稍后将其标记为不接受。我能知道原因吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-05
  • 1970-01-01
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多