为什么JavaScript不能获得整个输入框?

时间:2012-11-07 01:48:14

标签: javascript input for-loop

我有一些输入框(动态生成)应该输入数字并添加这些数字然后在页面上打印。

它有效,但是当你输入数字时,它不会得到最后一个数字(意思是如果数字是1-9,它将不会显示任何内容。如果它 183 由于某种原因,JS函数只能 18

这是js功能。我90%确定以下代码包含错误:

var lengthNum = document.createElement("strong");
function getLength() {
    var allNums = document.getElementsByName("numField");
    var length = 0;
    for (i=allNums.length-1;i>=0;i--) {
        length += parseInt(allNums[i].value);
    }
    if (length >= 0) {
        lengthNum.innerHTML = length;
        document.getElementById("length").appendChild(lengthNum);
    }
}

2 个答案:

答案 0 :(得分:0)

据我所知,您的代码是正确的,并且工作正常。有关使用您提供的代码的示例,请参阅this jsFiddle

请确保您拥有:

  • 正确定义了您希望包含在总计中的文本框中的name属性
  • 不会限制输出元素的样式(带有id="length"的div)来截断文本

答案 1 :(得分:0)

如果在按键事件期间调用getLength函数,则可能在文本字段实际赋予新字符之前执行该函数。