如何通过Javascript更改输入[input = type]的值?

时间:2018-08-05 02:30:35

标签: javascript

我已经有一系列的按键事件来触发一些声音,运行倒数时钟等等。

我还想分配键码来更改几个input[type=number]的值,通过每次按-1 / + 1的增量来减去或增加值。我进行了一些搜索,但无法真正给我最终的指南。

这是标题中的内容。

function runScript(e){
if(e.keyCode == 32 && e.shiftKey){
   gameclock();
}}

和我的html

<body onkeydown="runScript(event)"> 
...
<input id="whateverID1" type="number" value="00">

假设我想通过按#whateverID1来添加=值,并通过按#whateverID1来减去-值,那么请感谢任何有关如何实现该目标的指南。非常感谢你。

我已经尝试过了,但是似乎没有用。

var CounterName = 0; 
if(e.keyCode == 49 ) {
document.getElementById('whateverID1').value = ++CounterName;
} 
if(e.keyCode == 50 ) { 
document.getElementById('whateverID1').value = --CounterName; 
}

1 个答案:

答案 0 :(得分:2)

例如,使用html中的onclick / onkeydown东西通常是不好的做法。而是给该元素一个id或一个类,然后从JS中添加一个eventListener。

在下面尝试一下,jsfiddle正在运行,应该让您做自己想做的事:

document.getElementById("bodyId").addEventListener("keydown", function (event) {
  var CounterName = 1;
  var currentValue = parseInt(document.getElementById('whateverID1').value);

  if(event.keyCode == 187) {
    document.getElementById('whateverID1').value = currentValue + CounterName;
  }
  else if(event.keyCode == 189) { 
    document.getElementById('whateverID1').value = currentValue - CounterName;
  }
});

http://jsfiddle.net/Maxmaxs5/7thqo0zs/7/

如果这有帮助或您还有其他需要,请告诉我!