黑马程序员技术交流社区
标题:
Html和JavaScript中,单选框标签中的值的获取问题
[打印本页]
作者:
曹宇
时间:
2013-6-5 22:27
标题:
Html和JavaScript中,单选框标签中的值的获取问题
本帖最后由 曹宇 于 2013-6-6 14:10 编辑
如有如下Script代码:
<script language="javascript" type="text/javascript">
function check()
{
var sex=document.getElementsByName("sex");
alert(sex[0].value);
alert(sex[1].value);
/*
alert(sex[0].nodeValue);
alert(sex[1].nodeValue);
*/
}
</script>
复制代码
Html代码如下
<body>
<form action="" onsubmit="check();" method="post">
<input type="radio" name="sex" value="nan" />男 <input type="radio" name="sex" value="nv" />女
</form>
</body>
复制代码
作出来的网页 无论单选框选没选 输出永远是 nan 和 nv
而我用/* */注释掉的 语句执行的时候,无论单选框选没选,输出永远是 null.
两种方式 单选框点与不点没有任何区别。
我就是想要获取用户选择的值,或者判断用户是否没有选择性别选项。
可是这获取的值让我没法做判断。。
求大神。
多谢了!!!
作者:
穆爱明
时间:
2013-6-6 09:27
本帖最后由 穆爱明 于 2013-6-6 09:37 编辑
<p> </p><p><script type="text/javascript">
var chk = 0;
function check(){
var sex = document.getElementsByName("sex");
for(var i=0;i<sex.length;i++){
if(sex[i].checked){//利用循环判断用户是否选中
chk++;//如果选中则chk加1
alert(sex[i].value);
return true;
}
}
if(chk==0){//判断chk 如果chk的值没有变化,说明用户没有选中任何选项
alert("请选择性别 ");//提示用户选择性别
return false;
}
}
</script></p>
复制代码
Html代码如下:
<p><body>
<form action="" method="post" onsubmit="return check()">
<input type="radio" name="sex" value="nan" />
男
<input type="radio" name="sex" value="nv" />
女
<input type="submit" value="提交" />
</form>
</body></p>
复制代码
作者:
穆爱明
时间:
2013-6-6 09:40
你的输出结果老是nan 和nv 是因为你没有加判断,获取完值就直接输出了。和选没选中没有关系,得通过sex[i].checked判断一下。
作者:
曹宇
时间:
2013-6-6 14:09
穆爱明 发表于 2013-6-6 09:40
你的输出结果老是nan 和nv 是因为你没有加判断,获取完值就直接输出了。和选没选中没有关系,得通过sex.che ...
确实是这样,非常感谢你!!!
作者:
Hyo_Ri
时间:
2013-6-6 15:42
通过sex[i].checked判断一下吧,直接输出的肯定是两个值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2