繁体   English   中英

使用JavaScript进行计算

[英]making a calculation using JavaScript

为什么这不起作用? 我还通过将结果分配回输入字段来完成此操作,但这没有用,仍然没有显示应显示结果的警报。

    <script type="text/javascript">
    function calculate() {
       var calculateit=document.getElementById('disp');
       var pluscharacter=/+/;
       var matchplus=calculateit.search(pluscharacter);
       var inputlength=calculateit.length;
           if(matchplus!=-1 && matchplus!=0 matchplus!=inputlength) {
              answer=calculateit[0]+calculateit[1];
              alert("Your answer is: "+answer+" Is it?");
    }
    }
    </script>

您的if陈述式无效。 尝试:

if(matchplus!=-1 && matchplus!=0 && matchplus!=inputlength)
var calculateit = document.getElementById('disp');
var matchplus = calculateit.search(pluscharacter);

calculateit是一个Node ,没有任何search()方法。

您正在做不需要做的事情-只需拆分字符串即可。 您还需要获取innerHTML-这就是字符串。 或者,您也可以从输入字段获取“值”。 我会修剪它以消除方程式周围的空白,尽管parseInt也可以解决这一问题。 我也将答案推到另一个div。 这是一个jsfiddle:

https://jsfiddle.net/mckinleymedia/9ezky35v/2/

使用此HTML:

<h3>Equation</h3>
<div id="disp">12+12</div>
<h3>Answer</h3>
<div id="answer"></div>

您可以使用以下脚本:

function calculate() {
  var calculateit = document.getElementById('disp').innerHTML.trim(),
      numbers = calculateit.split('+'),
      answerDiv = document.getElementById('answer');
  if ( numbers.length > 1 ) {
    answer = parseInt(numbers[0]) + parseInt(numbers[1]);
    answerDiv.innerHTML = "Your answer is: <b>" + answer + "</b>, Right?";
  } else {
    answerDiv.innerHTML = "I can't calculate that equation.";
  }
}
calculate();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM