Javascript 未定义的值,正在读取输入
我正在获取未定义的ans。为什么?怎么了Javascript 未定义的值,正在读取输入,javascript,forms,Javascript,Forms,我正在获取未定义的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"
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>
函数submitAnswer()
{
var myForm=document.getElementById('quick');
var ansVal=myForm.ans.value;
var qnoVal=myForm.qno.value;
警报(“ans=“+ansVal”);
警报(“qno=“+qnoVal”);
返回;
}
对:
否:
您有两个ID相同的元素,导致名称冲突。它们还与同一元素上的name属性相同,这可能会导致一些混乱。您有两个具有相同ID的元素,导致名称冲突。它们还与同一元素上的name属性相同,这可能会导致一些混乱。使用表单。inputElement不是标准的,不能保证工作。相反,您应该使用document.getElementById
或其他一些DOM机制来查找所需的输入元素form.elements[name]
也可以使用
在执行此操作之前,您还需要修复元素ID-您有两个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>
使用Form.inputElement是不标准的,不能保证工作正常。相反,您应该使用
document.getElementById
或其他一些DOM机制来查找所需的输入元素form.elements[name]
也可以使用
在执行此操作之前,您还需要修复元素ID-您有两个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>
尝试:
var ansVal=myForm.ans.checked 试试看:
var ansVal=myForm.ans.checked 这将起作用:
function submitAnswer() {
var myForm = document.getElementById('quiz');
// Set a default value, in case no radio button is selected
var ansVal = 'default value here';
var qnoVal = myForm.qno.value;
// Loop through radio buttons, getting the value of the
// one that is checked (selected).
var radioButtons = myForm.ans;
for (var i = 0; i < radioButtons.length; i++) {
if (radioButtons[i].checked) {
ansVal = radioButtons[i].value;
}
}
alert ("ans=" + ansVal);
alert ("qno = " +qnoVal);
return;
}
函数submitAnswer(){
var myForm=document.getElementById('quick');
//如果未选择单选按钮,则设置默认值
var ansVal='此处的默认值';
var qnoVal=myForm.qno.value;
//循环浏览单选按钮,获取
//选中的一个。
var radioButtons=myForm.ans;
对于(var i=0;i
这将起作用:
function submitAnswer() {
var myForm = document.getElementById('quiz');
// Set a default value, in case no radio button is selected
var ansVal = 'default value here';
var qnoVal = myForm.qno.value;
// Loop through radio buttons, getting the value of the
// one that is checked (selected).
var radioButtons = myForm.ans;
for (var i = 0; i < radioButtons.length; i++) {
if (radioButtons[i].checked) {
ansVal = radioButtons[i].value;
}
}
alert ("ans=" + ansVal);
alert ("qno = " +qnoVal);
return;
}
函数submitAnswer(){
var myForm=document.getElementById('quick');
//如果未选择单选按钮,则设置默认值
var ansVal='此处的默认值';
var qnoVal=myForm.qno.value;
//循环浏览单选按钮,获取
//选中的一个。
var radioButtons=myForm.ans;
对于(var i=0;i
这也可以
function submitAnswer()
{
var myForm = document.getElementById('quiz');
var qnoVal = myForm.qno.value;
var ansVal = 'none';
for( i = 0; i < myForm.ans.length; i++ )
{
if( myForm.ans[i].checked == true )
{
ansVal = myForm.ans[i].value;
break;
}
}
alert ("ans=" + ansVal);
alert ("qno = " +qnoVal);
return;
}
函数submitAnswer()
{
var myForm=document.getElementById('quick');
var qnoVal=myForm.qno.value;
var ansVal=‘无’;
对于(i=0;i
这也可以
function submitAnswer()
{
var myForm = document.getElementById('quiz');
var qnoVal = myForm.qno.value;
var ansVal = 'none';
for( i = 0; i < myForm.ans.length; i++ )
{
if( myForm.ans[i].checked == true )
{
ansVal = myForm.ans[i].value;
break;
}
}
alert ("ans=" + ansVal);
alert ("qno = " +qnoVal);
return;
}
函数submitAnswer()
{
var myForm=document.getElementById('quick');
var qnoVal=myForm.qno.value;
var ansVal=‘无’;
对于(i=0;i
这将起作用
<html>
<form name="form">
Which one is good?<br>
<input type="radio" name="food" value="Spud"
checked="checked"> Spud<br>
<input type="radio" name="food" value="Carrot"> Carrot<br>
<input type="submit" onclick="get_radio_value()">
</form>
<script type="text/javascript>
<!--
function get_radio_value()
{
for (var i=0; i < document.form.food.length; i++)
{
if (document.form.food[i].checked)
{
var rad_val = document.form.food[i].value;
alert(rad_val);
}
}
}
//-->
</script>
</html>
哪一个好?
马铃薯
胡萝卜
这会奏效的
<html>
<form name="form">
Which one is good?<br>
<input type="radio" name="food" value="Spud"
checked="checked"> Spud<br>
<input type="radio" name="food" value="Carrot"> Carrot<br>
<input type="submit" onclick="get_radio_value()">
</form>
<script type="text/javascript>
<!--
function get_radio_value()
{
for (var i=0; i < document.form.food.length; i++)
{
if (document.form.food[i].checked)
{
var rad_val = document.form.food[i].value;
alert(rad_val);
}
}
}
//-->
</script>
</html>
哪一个好?
马铃薯
胡萝卜
有人可以编辑它。我是新来的。我看不到我粘贴的代码。为什么?也许你有两个相同名称和id的元素?有人可以编辑它。我是新来的。我看不到我粘贴的代码。为什么?也许你有两个相同名称和id的元素?如果收音机有不同的名称,它们不会排除彼此的选择。注意,雷克斯@未知,这里有更多信息:@presleyster:没错,但是名字和id之间有很大的区别。Rex说的是id,而不是名字。@presleyster哇,你说得对。我打字有点过激了。谢谢如果收音机有不同的名字,它们不会排除彼此的选择。雷克斯,请注意@未知,这里有更多信息:@presleyster:没错,但是名字和id之间有很大的区别。Rex说的是id,而不是名字。@presleyster哇,你说得对。我打字有点过激了。谢谢