我是JS的新手并参加了一个在线课程,我无法确定为什么这个函数没有返回20的预期值。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type = "text/javascript">
function calcpts(points)
{
if (window.document.jsquiz.rad1[0].checked == true)
{
var pts = 0;
pts = pts + parseint(20);
alert(pay);
return pay;
}
}
</script>
</head>
<body>
<h1>JavaScript Quiz</h1>
<form name = "jsquiz">
<p>Question #1 You can test a condition with an if..else statement or with an if..elseif..else statement</p>
<input type = "radio" name = "rad1" value="ques">True<br>
<input type = "radio" name = "rad1" value="ques">False<br><br>
<input type="button" name="toClick" value="calculate" onclick="grossPts.value = calcpts(points)" >
</p>
<br>
<p>Your total points are: <input type="text" name="grossPts" size="5" /></p>
</form>
</body>
</html>
答案 0 :(得分:1)
第一个错误就在这一行:
<input type="button" name="toClick" value="calculate" onclick="grossPts.value
= calcpts(points)" >
没有声明points
变量,因此它会抛出错误,你需要计算它或传递一个数字,你不会在你的函数中使用变量。
第二个错误是parseint()
不存在,请将其更改为parseInt()
第三个错误在你的函数内部,你使用一个不存在的pay
变量,你需要声明变量才能使用它们。但我想你的意思是写pts
而不是pay
这是礼物,因为为什么不呢?:
function calcpts(points)
{
if (window.document.jsquiz.rad1[0].checked == true)
{
var pts = 0;
pts = pts + parseInt(20);
alert(pts);
return pts;
}
}
<h1>JavaScript Quiz</h1>
<form name = "jsquiz">
<p>Question #1 You can test a condition with an if..else statement or with an if..elseif..else statement</p>
<input type = "radio" name = "rad1" value="ques">True<br>
<input type = "radio" name = "rad1" value="ques">False<br><br>
<input type="button" name="toClick" value="calculate" onclick="grossPts.value
= calcpts(0)" >
</p>
<br>
<p>Your total points are: <input type="text" name="grossPts" size="5" /></p>
</form>
答案 1 :(得分:0)
将代码中的parseint
替换为parseInt