1

基本的に、ユーザーが入力するたびにテキスト ボックスの現在の数値を 1 ずつ増やすことができるライブ Web ページの JavaScript で何かを探しています。

例えば

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

そして、次のテキストボックスの値は、他のテキストボックスの数値が変更されるたびに、1 ずつ増加するか 1 ずつ減少する 2 である必要があります

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

しかし、JavaScript で値を 1 増やす方法がわかりません。PHPでこれを行う方法は知っていますが、ユーザーが値を変更したときにライブWebページで行う必要があります。

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

そして、ここにフィドルへのリンクがあります。

于 2012-11-20T20:35:43.540 に答える
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

onkeydownテキストの現在のサイズをチェックして値を更新するリスナーを入力要素に追加します。

于 2012-11-20T20:27:33.100 に答える
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 に答える