谁知道怎么用js获取radio对象

轻弹浅唱 2011-11-18 09:02:20
单选按钮radio,一般都会有两个以上,如果客户没有选择的话,那怎么用javascript做非空判断,提示用户没选择任何按钮
...全文
568 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
hundanbaobao001 2011-11-18
  • 打赏
  • 举报
回复
document.getElementsByName("radioName");
roffer 2011-11-18
  • 打赏
  • 举报
回复

var r_arr = document.getElementsByName('radioName');
var num = 0;
for(var k=0;k< r_arr.length;k++){
if(r_arr[k].checked==true)num++;
}
if(num==0){
//code..
}
峭沙 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 p2227 的回复:]谢谢提醒,不过我认为在本论坛提问的话最好一切从简…………
[/Quote]要简单的话,直接用jquery吧。。
if(!$(':radio[name=radioname]').is(':checked')){
alert("没有选择");
}
峭沙 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 p2227 的回复:]
支持的,只是返回的值跟其他浏览器有点不一样
[/Quote]ie的getElementsByName()实现得不是一般的烂,我一直无视他,呵呵
p2227 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 ifandui 的回复:]

引用 14 楼 p2227 的回复:
引用 13 楼 axiheyhey 的回复:

引用 12 楼 yc1172000 的回复:
需要这么复杂吗???
IE不支持getElementsByName(),自己写一个而已,这就复杂了??
支持的,只是返回的值跟其他浏览器有点不一样

document.getElementById('div1').getElementsByName(……
[/Quote]谢谢提醒,不过我认为在本论坛提问的话最好一切从简…………
默默不得鱼 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 p2227 的回复:]
引用 13 楼 axiheyhey 的回复:

引用 12 楼 yc1172000 的回复:
需要这么复杂吗???
IE不支持getElementsByName(),自己写一个而已,这就复杂了??
支持的,只是返回的值跟其他浏览器有点不一样
[/Quote]
document.getElementById('div1').getElementsByName('aa')这样写是不支持的
那位兄弟写个getElementsByName是为了解决这个问题
p2227 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 axiheyhey 的回复:]

引用 12 楼 yc1172000 的回复:
需要这么复杂吗???
IE不支持getElementsByName(),自己写一个而已,这就复杂了??
[/Quote]支持的,只是返回的值跟其他浏览器有点不一样
峭沙 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yc1172000 的回复:]
需要这么复杂吗???
[/Quote]IE不支持getElementsByName(),自己写一个而已,这就复杂了??
轻弹浅唱 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 axiheyhey 的回复:]
这个是兼容IE的

HTML code

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form id="myform" name="myform">
<label>
<input type="radio" name="radio-test" value="test1" />
……
[/Quote]
需要这么复杂吗???
轻弹浅唱 2011-11-18
  • 打赏
  • 举报
回复
诸位的办法我都试了,怎么一个都不管用呢
峭沙 2011-11-18
  • 打赏
  • 举报
回复
这个是兼容IE的
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form id="myform" name="myform">
<label>
<input type="radio" name="radio-test" value="test1" />
<span>Test1</span>
</label>
<label>
<input type="radio" name="radio-test" value="test2" />
<span>Test2</span>
</label>
<input name="submit" type="submit" value="submit" />
</form>
<script>
function getElementsByName(container, name){
var result = [];
var childrens = container.getElementsByTagName('*');
for(var i = 0; i < childrens.length; i++){
if(childrens[i].name === name){
result.push(childrens[i]);
}
}
return result;
}
document.myform.onsubmit = function(){
var radios = getElementsByName(this, "radio-test");
for(var i = 0; i < radios.length; i++){
if(radios[i].checked){
break;
}
if(i === radios.length - 1){
alert("没有选择");
}
}
}
</script>
</body>
</html>
峭沙 2011-11-18
  • 打赏
  • 举报
回复
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form id="myform" name="myform">
<label>
<input type="radio" name="radio-test" value="test1" />Test1
</label>
<label>
<input type="radio" name="radio-test" value="test2" />Test1
</label>
<input name="submit" type="submit" value="submit" />
</form>
<script>
document.myform.submit.onclick = function(){
var radios = document.getElementsByName("radio-test");
for(var i = 0; i < radios.length; i++){
if(radios[i].checked){
break;
}
if(i === radios.length - 1){
alert("没有选择");
}
}
}
</script>
</body>
</html>
Aquarius_T 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liujiebest 的回复:]
根据ID或者class获取被选中的radio按钮,并判断被选中按钮的数量是否等于零来判断。
jQuery

JScript code
var num=$("input[type=radio]:checked").length;
if(num==0){
alert("必须选中按钮!");
}
[/Quote]

这个有道理。
hp2008001 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dreamboom 的回复:]

更正一下:

JScript code
document.getelementsbyname();
[/Quote]

是document.getElementsByName("radioName");
hp2008001 2011-11-18
  • 打赏
  • 举报
回复

var obj=document.getElementById("radioId");
for(var i in obj){
if(obj[i].checked){
alert("选中")
}
}
默默不得鱼 2011-11-18
  • 打赏
  • 举报
回复
alert($(":radio:checked").length)
=0 1个都没选
=1 选中1个
=2 选中2个
_懒猫 2011-11-18
  • 打赏
  • 举报
回复
根据ID或者class获取被选中的radio按钮,并判断被选中按钮的数量是否等于零来判断。
jQuery
var num=$("input[type=radio]:checked").length;
if(num==0){
alert("必须选中按钮!");
}
dreamboom 2011-11-18
  • 打赏
  • 举报
回复
更正一下:

document.getelementsbyname();
dreamboom 2011-11-18
  • 打赏
  • 举报
回复

var val=$('input:radio[name="radio"]:checked').val();

这个是jquery获取选中的

给radio起name

document.getElementByName("radioname").checked==null;
加载更多回复(1)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧