Javascript函数没有返回值

时间:2015-04-30 05:26:49

标签: javascript

我是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>

2 个答案:

答案 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