Javascript 增加文本框的值 +1



>基本上,我正在JavaScript中为一个实时网页寻找一些东西,该网页可以在用户每次键入时将文本框的当前数值增加1。

例如

<td> <input type='text' name='form_c_port' value='1' size='5' maxlength='5'/> </td>

然后我的下一个文本框值应该是 2 每次其他文本框的数值更改时增加 1 或减少 1

<td> <input type='text' name='form_q_port' value='0' size='5' maxlength='5'/> </td>

但我似乎找不到如何在 JavaScript 中将值增加 1。我知道如何在 PHP 中执行此操作,但是当用户更改值时,我需要在实时网页上完成。

这比我最初想象的要复杂得多。我没有意识到两个输入都可以修改。我终于通过侦听退格键并在第一个输入时删除来让它工作。如果输入似乎太快,它仍然存在错误。

这是 HTML

<td> <input id="one" type='text' name='form_c_port' value='1' size='5' maxlength='5'/> </td>
<td> <input id="two" type='text' name='form_q_port' value='0' size='5' maxlength='5'/> </td>

这是 jQuery

var lengthValue = $('#one').val().length;
$('#one').keyup(function(event){
    var key = event.keyCode || event.charCode;
    var tempLength = $('#one').val().length;
    if(key == 8 || key == 46){
        if(tempLength < lengthValue){
            lengthValue = $('#one').val().length;
            if(isNumber($('#two').val())){
              $('#two').val(parseFloat($('#two').val()) - 1);   
            }
            else{
              $('#two').val(0);    
            }
        }
    }
    else if(lengthValue < 5){
       lengthValue = $('#one').val().length;
       if(isNumber($('#two').val())){
          $('#two').val(parseFloat($('#two').val()) + 1);   
       }
       else{
          $('#two').val(0);    
       }
    }
});

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

这是小提琴的链接。

向输入元素添加一个onkeydown侦听器,该侦听器将检查文本的当前大小并更新值。

向对象添加一个 onkeydown() 事件,以便:

<input type='text' name='form_q_port' value='0' size='5' maxlength='5' onkeydown="increaseValue(this)"/>

然后 JS:

function increaseValue(object)
{
object.Value += 1;
}
document.getElementsByName("form_c_port")[0].value = parseInt(document.getElementsByName("form_c_port")[0].value) + 1

请参阅 http://jsfiddle.net/NK6dB/

最新更新