在输入类型字段中递增值(整数)

时间:2011-10-12 15:17:48

标签: numbers increment textinput keydown keyup

我有输入文字,我想要使用键向上或向下增加内部数字。

我有:

<input type="text" value="1" name="qty" />

在挖掘stackoverflow之后,我发现:Is it possible to handle up/down key in HTML input field?

解决方案是使用:Keycodes 37 - 40 should do it for you. They map as 37=left, 38=up, 39=right, 40=down.

但是如何在表单中使用这些代码?是否有Javascript函数执行此操作(如:increase()或reduce()?

由于

1 个答案:

答案 0 :(得分:3)

你可以使用“onkeydown”事件做这样的事情。

<script type="text/javascript">
function increment(e,field) {
    var keynum

    if(window.event) {// IE 
        keynum = e.keyCode
    } else if(e.which) {// Netscape/Firefox/Opera 
        keynum = e.which
    }
    if (keynum == 38) {
        field.value = parseInt(field.value)+ 1;
    } else if (keynum == 40) {
        field.value = parseInt(field.value) - 1;
    }
    return false;
}
</script>


<input type="text" onkeydown="increment(event, this)" value="10">