我试图通过以下代码获取已检查单选按钮的值:
<html>
<head>
<script type="text/javascript" >
window.onload = initAll;
function initAll(){
var allAnchors = document.getElementsByName("options");
for ( var int = 0; int < allAnchors.length; int++) {
if(allAnchors[int].className == "buttonLink"){
allAnchors[int].onclick = fetchQuestion;
}
}
}
function fetchQuestion(){
var toLoad = this.href;
var selectedAnswer = "";
var allRadio = document.getElementsByTagName("input");
for(var i = 0;i<allRadio.length; i++){
if(allRadio[i].checked == true){
selectedAnswer = allRadio[i].value;
}
}
alert(selectedAnswer);
return false;
}
</script>
</head>
<body>
<input type="radio" name="options" value="optA" /> Operating System is used for Efficeint Resource Sharing Operating System is used for Efficeint Resource Sharing Operating System is used for Efficeint Resource Sharing <br/>
<input type="radio" name="options" value="optB" /> Operating System is used for Efficeint Resource Sharing <br/>
<input type="radio" name="options" value="optC" /> Operating System is used for Efficeint Resource Sharing <br/>
<input type="radio" name="options" value="optD" /> Operating System is used for Efficeint Resource Sharing <br/>
<a href="SubmitSheet" class="buttonLink">Submit</a>
<a href="NextQuestion" class="buttonLink">Next</a>
<a href="PreviousQuestion" class="buttonLink">Previous</a>
<a href="PassQuestion" class="buttonLink">Pass</a>
</body>
</html>
如果我使用document.getElementByTagName("input")
,那么它正在运行。但是document.getElementByName("options")
却没有。那么问题是什么?我不能将document.getElementByName与单选按钮一起使用。
答案 0 :(得分:3)
也许你的意思是document.getElementsByName()。请注意复数,因为它可能返回多个节点。
答案 1 :(得分:2)
问题可能是您正在调用“document.getElementByName(”options“)”
getElementByName未定义
你想调用getElementsByName,它将返回一个元素集合。
答案 2 :(得分:1)
我认为该方法是复数document.getElementsByName
,因为许多项可以共享名称。如果您想要一个元素,请添加一个ID并使用document.getElementById
或使用名称并缩小数组范围。
答案 3 :(得分:0)
只需更改此行:
var allAnchors = document.getElementsByName("options");
改为:
var allAnchors = document.getElementsByTagName("a");
您的代码should work符合预期。
getElementsByName
有自己的用法,但要获取文档中的所有锚标记,您需要使用getElementsByTagName
的其他方法。
答案 4 :(得分:0)
自己看看:
javascript:a=document.getElementsByName("options")[0];alert(a.value)
javascript:a=document.getElementsByTagName("input")[0];alert(a.value)