我有一个包含文字,下拉菜单和单选按钮的表单。我有一个脚本,然后抓取值并在文本区域字段中显示值。我可以获取文本和下拉列表的值,但单选按钮始终返回未定义错误或对象节点列表错误。以下是我在表单标签中执行的示例代码:
<form>
<input type="text" id="name" onChange="mySummary();" />
<input type="text" id="phone" onChange="mySummary();" />
<input type="radio" name="contact" value="Spoke with" onChange="mySummary();" />
<input type="radio" name="contact" value="left voicemail" onChange="mySummary();" />
<input type="text" id="moreinfo" onChange="mySummary();" />
<textarea id="Summary" rows="10" cols="30"></textarea>
</form>
然后我按照以下方式调用JavaScript中的数据:
function mySummary() {
var a = document.getElementById("name").value;
var b = document.getElementById("phone").value;
var c = document.getElementsByName("contact").value;
var d = document.getElementById("moreinfo").value;
document.getElementById("Summary").innerHTML =
"Name: " + a + "\n" +
"Phone: " + b + "\n" +
"Contacted How: " + c + "\n" +
"Additional information" + d;
}
当我尝试使用上面的内容时,我得到了未定义的消息,无线电选项。
如何拉出为单选按钮选择的值的值,并且用户输出更改时值将更改为新选择。我已经搜索过但没有找到在innerHTML中使用的其他ID
答案 0 :(得分:0)
您可以循环显示名为contact
的单选按钮组中的所有单选按钮,并检查选中了哪个单选按钮。然后,在变量c
中设置该单选按钮的值:
function mySummary() {
var a = document.getElementById("name").value;
var b = document.getElementById("phone").value;
var radioBtn = document.getElementsByName("contact");
var c;
for(i=0; i<radioBtn.length; i++){
if(radioBtn[i].checked){
c = radioBtn[i].value;
}
}
var d = document.getElementById("moreinfo").value;
document.getElementById("Summary").innerHTML =
"Name: " + a + "\n" +
"Phone: " + b + "\n" +
"Contacted How: " + c + "\n" +
"Additional information" + d;
}
&#13;
<form>
<input type="text" id="name" onChange="mySummary();" />
<input type="text" id="phone" onChange="mySummary();" />
<input type="radio" name="contact" value="Spoke with" onChange="mySummary();" />
<input type="radio" name="contact" value="left voicemail" onChange="mySummary();" />
<input type="text" id="moreinfo" onChange="mySummary();" />
<textarea id="Summary" rows="10" cols="30"></textarea>
</form>
&#13;
答案 1 :(得分:0)
document.getElementsByName顾名思义,它以数组的形式返回多个项目,因此值为&#39; c&#39;但是,在您的代码中将是一个数组 因为单选按钮通常用于在两个选项之间进行选择,并且您在单选按钮上也只有2个选项,您也可以使用单个单选按钮的id,并使用getElementById获取对它的引用并检查其&#34;已检查& #34;找出是否选中单选按钮的属性,或者也可以循环。