为什么这个javascript自动填充多个字段不起作用?

时间:2012-02-23 16:04:04

标签: javascript syntax

我是JavaScript的新手,我无法弄清楚为什么这段代码不起作用。我想在元输入表中输入用户输入数据并让他们单击[输入]以在每列的所有行中输入数据,例如,如果为出生时输入12/22/2012并单击输入,男性和女性餐桌上应填写“出生”下的所有字段。我将页面中的html代码复制到jsfiddle,http://jsfiddle.net/hopup/h2jjd/3/

任何帮助表示赞赏,请记住我是JavaScript的新手,所以建设性的批评会很好。

这是Javascript

编辑2:对我的代码进行了一些更改,我越来越近了吗?它仍然无效。

编辑3:这适用于chrome,但不适用于Firefox。有什么想法吗?

http://jsfiddle.net/hopup/h2jjd/5/< - 检查一下

function fill (colname) {
var numRows, i, toCopy, iterated_name;

numRows = document.getElementById('malesTable').rows.length + document.getElementById('femalesTable').rows.length - 2;
toCopy = document.getElementById(colname.id).value;
i = 1;
for (i; i <= numRows; i++){
    iterated_name = colname.id + "_" + i;
    document.getElementById(iterated_name).value = toCopy;
    }
}

2 个答案:

答案 0 :(得分:2)

该行

   document.myform.count.value = document.getElementByName(name);

似乎很奇怪。我发现了三个错误:

  • 代码访问表单的“count”属性(名为“count”的表单元素)。您似乎想要document.myform.elements[count]
  • 只有getElement/s/ByName方法,它返回元素的NodeList。您可能希望使用ID,getElementById()只返回具有唯一ID的一个元素。
  • getElement-function返回Node / an Element,而不是其内容。因此,请使用textContent或访问元素的文本节点。

答案 1 :(得分:0)

JavaScript源文件中存在非法字符。

编辑看起来像一个非西方的字形,U + 8B80 - 读你在问题中发布的版本不一样,至少不完全相同。

编辑啊durrr它是UTF-8,当然不是UTF-16。正如@ Pumbaa80指出的那样,这是一个零宽度的空间。哦,具体来说,这是在mausdb.js文件中。