Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:更新表单值时如何使用变量名?_Javascript - Fatal编程技术网

Javascript:更新表单值时如何使用变量名?

Javascript:更新表单值时如何使用变量名?,javascript,Javascript,以下是函数的一部分: 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='' />

以下是函数的一部分:

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='' />
谢谢

更新:在谷歌搜索了很多次后发现了这个,它很有效。但似乎还有更优雅的方式来实现这一点

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

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

document.forms[0][questionId].value

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


var questionId='q'+问题

questionId是变量的名称。它的值应该是q1或类似值。谢谢。添加了var,但仍然得到相同的错误。为了清楚起见,我希望javascript将questionId一词替换为其值'q1'。在我看来,它似乎在试图找到一个名为“questionId”的表单元素。它需要根据变量'questionId'的值查找'q1','q2','q3'等。您是否尝试过我回答的第一行JavaScript,例如:
document.forms[0][questionId]。value=answer?这将满足您的需要,无论questionId具有什么值。是的,对不起,我应该发布结果。使用
document.forms[0].[questionId].value=answer时我得到:语法错误:后面缺少名称。运算符您添加了一个额外的“.”。您不需要那里的
javascript:
前缀..删除了它,谢谢。仍然显示相同的错误消息。
eval(\"document.forms[0].\"+questionId+\".value = answer;\");