10

私はこの次のコードを持っています:JS Fiddle

<html>
    <head>
        <script>            
            function increase(){
                var a = 1;
                var textBox = document.getElementById("text");
                textBox.value = a;
                a++;
            }            
        </script>
    </head>

    <body>
        <button type="button" onclick="increase()">show</button>
        <input type="text" id="text">
    </body>
</html>​

私がやろうとしていることは:

  1. ボタンをクリックすると、「a」の値がテキストボックスに表示され、「a」がインクリメントされます。
  2. もう一度クリックすると、増分値が表示されますが、これは発生しません。

どこが間違っているのですか?

4

10 に答える 10

13

関数の終わりで消えるローカル変数をインクリメントするだけです。あなたはこれを行うことができます:

      var a = 1;
      function increase(){
            var textBox = document.getElementById("text");
            textBox.value = a;
            a++;
      }    
于 2012-11-06T11:00:17.137 に答える
7
<input type="text" id="text" value="1"/>
function increase(){
    var textBox = document.getElementById("text");
    textBox.value++;
}
于 2012-11-06T11:00:52.040 に答える
0

テキストフィールドの値を確認することをお勧めします。空の場合それa=1以外の場合textfield.value++

于 2012-11-06T11:02:33.903 に答える
0

var a=1;関数の前に宣言する必要があるという意味です

于 2012-11-06T11:03:22.960 に答える
0

これを使用できます。コピーして貼り付けるだけです。

    <html>
    <head>
        <script type="text/javascript">  
        var a = 1;          
            function increase(){


                document.getElementById("text").value=a;
                a=a+1;

            }            
        </script>
    </head>

    <body>
        <button type="button" onclick="increase()">show</button>
        <input type="text" id="text">
    </body>
</html>​
于 2012-11-06T11:04:02.530 に答える
0

このコードを使用する

    var k = 1;
    function shashi() {
        document.getElementById('para').innerHTML = k;
        k++;
    }
    k = k;
</script><br/>

クリックイベントでshashi()関数を呼び出します

于 2014-02-10T09:36:18.827 に答える
0
于 2019-05-18T09:45:27.510 に答える
0
 <input type="text" id="text" value="1" />
<p id="plus">+</p>
<script>
    const plus = document.getElementById('plus');
    plus.addEventListener('click', function() {
        var textBox = document.getElementById("text").value;
        let inputNumber = parseFloat(textBox);
        console.log(inputNumber);
        inputNumber += 1;
        document.getElementById("text").value = inputNumber;
    })
</script>
于 2021-01-27T06:04:06.137 に答える
0

You have put on quotes before & after the function increase() in the button coding too

于 2021-05-30T03:56:22.690 に答える
-1

インクリメントボタンとデクリメントボタンを実装するより簡単なアプローチがあります。 インラインJavaScriptを使用した簡単な例:

<!-- increment button -->
<input type='button' name='add' onclick='javascript: document.getElementById("qty").value++;' value='+'/>
<!-- quantity input -->
<input name='qty' id='qty' style="text-align:center;" type="text" value="1"  autocomplete="off" size="2">
<!-- decrement button -->
<input type='button' name='subtract' onclick='javascript: document.getElementById("qty").value--;' value='-'/>
于 2016-08-17T09:44:45.830 に答える