Javascript在单击时更新/增加变量值

Javascript在单击时更新/增加变量值,javascript,increment,Javascript,Increment,我有以下代码: 功能增加(){ var a=1; var textBox=document.getElementById(“文本”); textBox.value=a; a++; } 显示 ​ 我想做的是: 单击按钮后,“a”的值将显示在文本框中,“a”将递增 现在再次单击时,应显示递增的值,但不会出现这种情况 我哪里出错了?您只增加了一个在函数末尾消失的局部变量。您可以这样做: var a = 1; function increase(){

我有以下代码:


功能增加(){
var a=1;
var textBox=document.getElementById(“文本”);
textBox.value=a;
a++;
}            
显示
​
我想做的是:

  • 单击按钮后,“a”的值将显示在文本框中,“a”将递增
  • 现在再次单击时,应显示递增的值,但不会出现这种情况

  • 我哪里出错了?

    您只增加了一个在函数末尾消失的局部变量。您可以这样做:

          var a = 1;
          function increase(){
                var textBox = document.getElementById("text");
                textBox.value = a;
                a++;
          }    
    

    最好检查文本字段的值。如果它是空的
    a=1
    else
    textfield.value++
    我的意思是
    var a=1应该在函数之前声明。您可以使用它。只需复制并粘贴即可

        <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>​
    
    
    var a=1;
    功能增加(){
    document.getElementById(“text”).value=a;
    a=a+1;
    }            
    显示
    ​
    
    使用此代码

    var k=1;
    函数shashi(){
    document.getElementById('para')。innerHTML=k;
    k++;
    }
    k=k;
    

    并在单击事件时调用shashi()函数

    实现递增和递减按钮的方法更简单。 使用内联javascript的快速示例:


    您应该练习在必要时才声明全局变量。它有时会导致大型应用程序出现漏洞。 JS函数也是对象,这意味着它们可以具有属性

    
    功能增加(){
    if(typeof this.counter==“未定义”){
    这个计数器=1;
    }
    var textBox=document.getElementById(“文本”);
    textBox.value=this.counter;
    这个.counter++;
    }            
    显示
    ​
    
    

    +

    const plus=document.getElementById('plus'); plus.addEventListener('click',function()){ var textBox=document.getElementById(“text”).value; 让inputNumber=parseFloat(文本框); 控制台日志(输入编号); 输入编号+=1; document.getElementById(“text”).value=inputNumber; })
    您也在按钮编码中的函数increase()前后加上引号

    +1;请注意,不建议使用全局命名空间。您可以通过使用自调用函数来避免全局变量。如何在var a中维护递增的值。这是否会在函数末尾添加增量??“您需要
    a++
    ”和“
    var a=1;
    应该在函数“看起来不太相似”之前声明。更简短的方法。。我喜欢那样+1为此,请不要只发布代码作为答案,还要解释代码的作用以及它如何解决问题。带解释的答案通常更有帮助,质量也更好,更容易吸引人。我不清楚你的意思。要么“…但是你不应该。看看这段代码如何避免它。”要么“你必须穿上…”。也许,如果您添加代码或解释什么是错误的,为什么,如何解决它以及它是如何工作的,那么事情可能会更清楚。
    <input type="text" id="text" value="1"/>
    
    function increase(){
        var textBox = document.getElementById("text");
        textBox.value++;
    }
    
        <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>​
    
        var k = 1;
        function shashi() {
            document.getElementById('para').innerHTML = k;
            k++;
        }
        k = k;
    </script><br/>
    
    <!-- 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='-'/>
    
     <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>