我将这个简单的脚本附加到调查问卷中,并且在将所选答案显示在文本区域中时遇到问题。这是脚本:
function check() {
var complete = 0;
var total = 0;
for (i=0;i<document.form.length;i++)
{
if (document.form.elements[i].checked == true && complete < 10) {
complete++;
total = (total) + (Math.round(document.form.elements[i].value));
}
}
if (complete >= 10) {
document.form.message.value = document.form.question1.value;
}
}
这是HTML:
<input type="radio" value="1" name="question1" onclick="check()"> A<br />
<input type="radio" value="2" name="question1" onclick="check()"> B<br />
<input type="radio" value="3" name="question1" onclick="check()"> C<br />
<input type="radio" value="4" name="question1" onclick="check()"> D<br />
<input type="radio" value="1" name="question2" onclick="check()"> E<br />
<input type="radio" value="2" name="question2" onclick="check()"> F<br />
<input type="radio" value="3" name="question2" onclick="check()"> G<br />
<input type="radio" value="4" name="question2" onclick="check()"> H<br />
<textarea name="message"></textarea>
我希望返回值,但我得到undefined
. 如果我更改脚本中返回文本的行:
document.form.message.value = document.form.question1;
我明白了[object NodeList]
。我知道我错过了一些如此简单的东西,但我一生都找不到它。
另外,我是否可以将字母 A 到 H 连同值一起返回?我知道我可以用字母替换值,但需要那里的数字进行计算。