这是函数的一部分:

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


用类似这样的方法调用函数:

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


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

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


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

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


谢谢!

更新:经过大量的搜索后发现了这一点,并且可以正常工作。似乎仍然可以通过一种更优美的方式来实现这一目标?

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

最佳答案

如果您确定表单中存在名称为questionId的输入:

document.forms[0][questionId].value

并且您应该使用var来避免全局变量:

var questionId = 'q' + question;

关于javascript - Javascript:更新表单值时如何使用变量名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15675042/

10-10 13:45