2

テキストを入力しましたが、上下のキーを使用して内部の数字を増やしたいと思います。

私は持っている:

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

私が見つけたスタックオーバーフローを掘り下げた後:HTML入力フィールドで上下キーを処理することは可能ですか?

解決策は次を使用することです:Keycodes 37 - 40 should do it for you. They map as 37=left, 38=up, 39=right, 40=down.

しかし、フォームでこれらのコードを使用するにはどうすればよいですか? これを行うJavascript関数はありますか(増加()または減少()のように?

ありがとう

4

1 に答える 1

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">
于 2011-10-12T15:29:55.740 に答える