页面如下:<li id=5>
<h2>5、你最喜欢什么礼物?</h2>
<div class="con">
<label>
<input class="radio4" type="radio" id="selection_id" name=5 value=18 />
人民币。<br />
<input class="radio4" type="radio" id="selection_id" name=5 value=19 />
欧元。<br />
</label>
</div>
<div class="foot"></div>
</li>js代码如下function submit1(pageNO){
var bl=0;
var rs = document.getElementsByName("selection_id");
for (var i = 0; i < rs.length; i++) {
if (rs[i].checked) {
bl++;
}
}
alert(bl);
}
问题是,在ie浏览器显示正常,而在谷歌浏览器一直取不到值,大虾们求救啊。
<h2>5、你最喜欢什么礼物?</h2>
<div class="con">
<label>
<input class="radio4" type="radio" id="selection_id" name=5 value=18 />
人民币。<br />
<input class="radio4" type="radio" id="selection_id" name=5 value=19 />
欧元。<br />
</label>
</div>
<div class="foot"></div>
</li>js代码如下function submit1(pageNO){
var bl=0;
var rs = document.getElementsByName("selection_id");
for (var i = 0; i < rs.length; i++) {
if (rs[i].checked) {
bl++;
}
}
alert(bl);
}
问题是,在ie浏览器显示正常,而在谷歌浏览器一直取不到值,大虾们求救啊。
<h2>5、你最喜欢什么礼物?</h2>
<div class="con">
<label>
<input class="radio4" type="radio" name="selection_id" name=5 value=18 />
人民币。<br />
<input class="radio4" type="radio" name="selection_id" name=5 value=19 />
欧元。<br />
</label>
</div>
<div class="foot"></div>
</li>getElementsByName读的是name,你的input里没有name只有idchrome里的才是正确的
对于表单元素,浏览器都可以用getElementsByName来正确取值。对于非表单元素
除IE外getElementsByName读取的是name
IE读取的却是id不得不说IE的问题,id理论上是不允许重复的
1楼正确,input的id该成唯一的就行了
<h2>4、你最喜欢什么食物?</h2>
<div class="con">
<label>
<input class="radio3" type="radio" id="selection_id" name=4 value=24 />
蛋炒饭。<br />
<input class="radio3" type="radio" id="selection_id" name=4 value=25 />
燕窝。<br />
</label>
</div>
<div class="foot"></div>
</li><li id=5>
<h2>5、你最喜欢什么礼物?</h2>
<div class="con">
<label>
<input class="radio4" type="radio" id="selection_id" name=5 value=18 />
人民币。<br />
<input class="radio4" type="radio" id="selection_id" name=5 value=19 />
欧元。<br />
</label>
</div>
<div class="foot"></div>
</li>
而我想得到的结果就是所有被选中的radio个数和它的value,js如下:<script>
function submit1(pageNO){
var str="";
var bl=0;
var rs = document.getElementsByName("selection_id");
for (var i = 0; i < rs.length; i++) {
if (rs[i].checked) {
str=str+rs[i].name+"~"+rs[i].value+";";
bl++;
}
}
alert("bl====="+bl+";str======="+str);
}
</script>
你有name 是 selection_id 的元素吗?
id 最好是唯一!!!!!!!
你这样的结构 可以用
var inputs=document.getElementsByTagName("input");
var str="";for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type.toLowerCase()=="radio" && inputs[i].checked) {
str=str+inputs[i].name+"~"+inputs[i].value+";";
i++;
}
}
刚又获得一个新的方向,就是加个form,然后用var rs = document.form1.selection_id;取值。