函数不返回最终值

时间:2013-11-24 10:47:32

标签: javascript html for-loop getelementbyid onsubmit

我正在尝试编写一个小函数,它总计0和用户输入的整数num之间的整数。
我有一个表格:

<form  onsubmit="return getSum();" method="post" name="form">
  <h1>Form</h1>
  <br />
  <label>num</label>
  <input type="text" name="num" id="num"/>
//and rest of form
</form>

使用一点javascript函数:

function getSum()
{
    var num = document.getElementById("num");
    var sum = 0;
    for (i = 0; i <= num; i++)
    {
        sum = sum + i;
    }

    alert ("The sum of " + num + " is " + sum);
    return true;
}

这是我收到的提醒:

enter image description here

这是我sum的初始值,我不确定它为num做了什么。如果我将sum = 0放入for循环中,它将显示为未定义,如果我不启动它,它什么都不做。这对你来说很明显,但我做错了什么?

3 个答案:

答案 0 :(得分:3)

确保你有号码

var num = parseInt(document.getElementById("num").value);

答案 1 :(得分:2)

尝试:

var num = document.getElementById("num").value;

而不是:

var num = document.getElementById("num");

答案 2 :(得分:2)

尝试:

function getSum()
{
    var num = +(document.getElementById("num").value);
    var sum = 0;
    for (i = 0; i <= num; i++)
    {
        sum = sum + i;
    }

    alert ("The sum of " + num + " is " + sum);
    return true;
}