我正在为ans定义未定义.为什么?怎么了?
function submitAnswer()
{
var myForm = document.getElementById('quiz');
var ansVal = myForm.ans.value;
var qnoVal = myForm.qno.value;
alert ("ans=" + ansVal);
alert ("qno = " +qnoVal);
return;
}
<form nam="quiz" id="quiz" >
Yes:
<input type="radio" id="ans" name="ans" value="1" />
<br />No:
<input type="radio" id="ans" name="ans" value="0" />
<input id="qno" type="text" name="qno " value="qqq" />
<input type="button" value="" onClick="submitAnswer(); " />
</form>
Run Code Online (Sandbox Code Playgroud)
使用theForm.inputElement不是标准的,不能保证工作.相反,您应该使用document.getElementById或其他一些DOM机制来查找所需的输入元素.theForm.elements[name]也有效.
在执行此操作之前,您还需要修复元素ID - 您有两个<input type="radio" />ID为"ans"的元素,这是不正确的.ID必须是唯一的:
<input type="radio" id="ans1" name="ans" value="1" />
<input type="radio" id="ans2" name="ans" value="0" />
<script type="text/javascript">
var ans1 = document.getElementById('ans1');
var ans1value = ans1.value;
</script>
Run Code Online (Sandbox Code Playgroud)
或者,使用以下方法将单选按钮组作为单个元素elements:
<script type="text/javascript">
var theForm = document.getElementById('quiz');
var ansValue = theForm.elements['ans'].value;
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14018 次 |
| 最近记录: |