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 中将值增加一。我知道如何在 PHP 中执行此操作,但是当用户更改值时,我需要在实时网页上执行此操作。

4

4 回答 4

1

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

这是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);
}

这是一个fiddle的链接。

于 2012-11-20T20:35:43.540 回答
0

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

于 2012-11-20T20:27:33.100 回答
0

向对象添加onkeydown()事件,因此:

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

然后JS:

function increaseValue(object)
{
object.Value += 1;
}
于 2012-11-20T20:27:35.893 回答
0
document.getElementsByName("form_c_port")[0].value = parseInt(document.getElementsByName("form_c_port")[0].value) + 1

http://jsfiddle.net/NK6dB/

于 2012-11-20T20:31:31.070 回答