[英]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.