Увеличение значения (целое число) в поле типа ввода - PullRequest
2 голосов
/ 12 октября 2011

У меня есть введенный текст, и я хочу увеличить число, находящееся внутри, с помощью клавиши вверх или вниз.

У меня есть:

<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, которая делает это (например, увеличение () или уменьшение ()?

Спасибо

1 Ответ

3 голосов
/ 12 октября 2011

Вы можете сделать что-то подобное, используя событие "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">
...