1

这是函数的一部分:

function updateResponse(question, answer) {
    questionId = 'q'+question;
    document.forms[0].questionId.value = answer;

使用以下内容调用函数:

<td onClick='javascript:updateResponse(1, 1);'>

我希望它更新的表单元素看起来像:

<input type='hidden' name='q1' value='' />

使用 Firefox Web 控制台,我得到:

TypeError: document.forms[0].questionId is undefined

谢谢!

更新:经过多次谷歌搜索后发现它并且它有效。不过,似乎还有一种更优雅的方式可以实现这一目标?

eval(\"document.forms[0].\"+questionId+\".value = answer;\");
4

1 回答 1

2

如果您确定表单中有一个名为 questionId 的输入:

document.forms[0][questionId].value

你应该使用 var 来避免全局变量:

var questionId = 'q' + question;

于 2013-03-28T05:49:18.757 回答