我正在尝试以这样的方式运行JavaScript,即在网页上放入的数字总和将根据总和返回警报。出于某种原因,它不会返回结果'警报。
以下是JavaScript代码:
function myfunction() {
var first = document.getElementById("textbox1").value;
var second = document.getElementById("textbox2").value;
var answer = parseFloat(first)+parseFloat(second);
var textbox3 = document.getElementById('textbox3');
textbox3.value=answer;
}
function calc(myfunction) {
if (textbox3.value >= 50) {
alert ("Congratulations!! You won!");
} else if (textbox3.value < 50) {
alert ("Better luck next time...");
}
}
我尝试以我构建和缩进的方式呈现它,所以希望这对我有任何想法的人有所帮助。
编辑:这是调用函数的html代码:
<input type="text" name="textbox1" id="textbox1" /> + <input type="text" name="textbox2" id="textbox2" />
<input type="submit" name="button" id="button1" onclick="myfunction()" value="=" />
<br/>
Your answer is:
<input type="text" name="textbox3" id="textbox3"/>
答案 0 :(得分:0)
您永远不会调用calc()函数。使这项工作最简单的方法如下。变化是......
1)我已经重命名了你的函数 - 在他们做了之后养成命名函数的好习惯 - 不要使用myFunction!
2)calculateTotal()现在返回答案。在displayWinAlert()函数中,我们将此返回的结果存储在“total”变量中。
3)我将“if else”更改为“else” - 当我们已经测试了相反的情况时,没有必要测试它是否低于50。
4)您的按钮现在在单击时调用displayWinAlert()函数。
使用Javascript:
function calculateTotal() {
var first = document.getElementById("textbox1").value;
var second = document.getElementById("textbox2").value;
var answer = parseFloat(first)+parseFloat(second);
var textbox3 = document.getElementById('textbox3');
textbox3.value=answer;
return answer;
}
function displayWinAlert() {
var total = calculateTotal();
if (total >= 50) {
alert ("Congratulations!! You won!");
} else {
alert ("Better luck next time...");
}
}
HTML:
<input type="text" name="textbox1" id="textbox1" /> + <input type="text" name="textbox2" id="textbox2" />
<input type="submit" name="button" id="button1" onclick="displayWinAlert()" value="=" />
<br/>
Your answer is:
<input type="text" name="textbox3" id="textbox3"/>
答案 1 :(得分:-1)
你的范围已经不在了。
textbox3在myfunction()的范围内声明,并且您尝试在另一个函数中访问它(calc());
你也需要在calc()上声明它。