【问题标题】:Adding two number using JavaScript使用 JavaScript 添加两个数字
【发布时间】:2016-01-15 01:31:03
【问题描述】:

我正在使用 JS 函数添加两个数字,当我第一次输入值时,例如 3 + 4,我的输出为“你的答案是 7”,直到这里没问题。但是,当我输入不同的值 10 + 10 时没有刷新,那么我的输出变为 “你的答案是 7 10” 它不会替换 7,而是添加到该段落中。我需要更改代码以便每次都能得到一个有价值的答案。

提前非常感谢, 达纳贾伊

<p> Add two number  </p>

<label for="value1">Enter Number 1</label>
<input type="text" id="value1" />
<br />
<br />

<label for="value2">Enter Number 2</label>
<input type="text" id="value2" />
<br />
<br />
<button id="calculate" type="button" onclick="myFunction()">Calculate</button>
<p id="answer">Your answer is </p>



<script type="text/javascript">

    function myFunction() {
        var y = document.getElementById("value1").value;
        var z = document.getElementById("value2").value;
        var x = +y + +z;

        document.getElementById("answer").innerHTML = document.getElementById("answer").innerHTML + " " + x;
    }

</script>

【问题讨论】:

  • 你明白myFunction()的最后一行是做什么的吗?

标签: javascript function


【解决方案1】:

<p> Add two number  </p>

<label for="value1">Enter Number 1</label>
<input type="text" id="value1" />
<br />
<br />

<label for="value2">Enter Number 2</label>
<input type="text" id="value2" />
<br />
<br />
<button id="calculate" type="button" onclick="myFunction()">Calculate</button>
<p id="answer">Your answer is </p>



<script type="text/javascript">

    function myFunction() {
        var y = document.getElementById("value1").value;
        var z = document.getElementById("value2").value;
        var x = (+y + +z);

        document.getElementById("answer").innerHTML =  x;
    }

</script>

【讨论】:

    【解决方案2】:

    使用另一个元素来保存这样的答案:

    function myFunction() {
      var y = document.getElementById("value1").value;
      var z = document.getElementById("value2").value;
      var x = +y + +z;
    
      document.getElementById("output").innerText = x;
    }
    <p>Add two number</p>
    
    <label for="value1">Enter Number 1</label>
    <input type="text" id="value1" />
    <br/>
    <br/>
    
    <label for="value2">Enter Number 2</label>
    <input type="text" id="value2" />
    <br/>
    <br/>
    <button id="calculate" type="button" onclick="myFunction()">Calculate</button>
    <p id="answer">Your answer is <span id="output"></span>
    </p>

    【讨论】:

      【解决方案3】:

      希望对你有用

      function myFunction() {
           var y=null;
           var z=null;
               y = document.getElementById("value1").value;
               z = document.getElementById("value2").value;
              var x = parseInt(y) + parseInt(z);
      
              document.getElementById("ans").innerHTML = x;
          }
      

      HTML

      <p> Add two number  </p>
      
      <label for="value1">Enter Number 1</label>
      <input type="text" id="value1" />
      <br />
      <br />
      
      <label for="value2">Enter Number 2</label>
      <input type="text" id="value2" />
      <br />
      <br />
      <button id="calculate" type="button" onclick="myFunction()">Calculate</button>
      <p>Your answer is </p> <span id='ans'></span>
      

      【讨论】:

        【解决方案4】:

        改变这个:

        document.getElementById("answer").innerHTML = document.getElementById("answer").innerHTML + " " + x;
        

        到这里:

        document.getElementById("answer").innerHTML = x;
        

        【讨论】:

        • 嗨,将其更改为 document.getElementById("answer").innerHTML = x;我的输出只显示计算出的数字。我真正想要的是它还显示段落文本“你的答案是 x”(其中 x 是计算出的数字)。我发现将

          Your answer is

          更改为

          Your answer is

          然后将您建议的代码为我工作。谢谢:)
        【解决方案5】:

        你的最后一行是这样说的

         document.getElementById("answer").innerHTML = document.getElementById("answer").innerHTML + " " + x;
        

        将结果追加到字段中。

        把它改成简单的

         document.getElementById("answer").innerHTML = x;
        

        【讨论】:

          【解决方案6】:

          您需要将答案中的值解析为 int,然后添加 x 以累积您的答案加上新数字:

          document.getElementById("answer").innerHTML = parseInt(document.getElementById("answer").innerHTML) + x;
          

          【讨论】:

            【解决方案7】:
                var x=0;
            function myFunction() {
                    var y = document.getElementById("value1").value;
                    var z = document.getElementById("value2").value;
                     x += parseInt(y) + parseInt(z);
            console.log(x);
                    document.getElementById("answer").innerHTML = document.getElementById("answer").innerHTML + " " + x;
                }
            

            enter link description here

            【讨论】:

              【解决方案8】:

              替换这个

              document.getElementById("answer").innerHTML = document.getElementById("answer").innerHTML + " " + x;
              

              有了这个

              document.getElementById("answer").innerHTML = " Your answer is " + x;
              

              【讨论】:

                【解决方案9】:

                您需要在计算后清除变量。否则你只是附加当前定义

                ...
                var x = +y + +z;    
                delete y;
                delete z;
                

                【讨论】:

                  猜你喜欢
                  • 2015-11-20
                  • 2016-10-16
                  • 1970-01-01
                  • 2021-12-22
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2012-01-18
                  相关资源
                  最近更新 更多