A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 曹宇 于 2013-6-6 14:10 编辑

如有如下Script代码:
  1. <script language="javascript" type="text/javascript">
  2. function check()
  3. {
  4. var sex=document.getElementsByName("sex");
  5.   alert(sex[0].value);
  6.   alert(sex[1].value);
  7.   
  8.   /*
  9.   alert(sex[0].nodeValue);
  10.   alert(sex[1].nodeValue);
  11.   */
  12. }
  13. </script>
复制代码
Html代码如下
  1. <body>

  2.   <form action="" onsubmit="check();" method="post">

  3.     <input type="radio" name="sex" value="nan" />男 <input type="radio" name="sex" value="nv" />女

  4.   </form>
  5. </body>

复制代码
作出来的网页  无论单选框选没选 输出永远是  nan   和  nv

而我用/*  */注释掉的 语句执行的时候,无论单选框选没选,输出永远是 null.

两种方式 单选框点与不点没有任何区别。
我就是想要获取用户选择的值,或者判断用户是否没有选择性别选项。

可是这获取的值让我没法做判断。。


求大神。

多谢了!!!


4 个回复

倒序浏览
本帖最后由 穆爱明 于 2013-6-6 09:37 编辑
  1. <p> </p><p><script type="text/javascript">
  2.          var chk = 0;
  3.             function check(){
  4.                 var sex = document.getElementsByName("sex");
  5.                 for(var i=0;i<sex.length;i++){
  6.                     if(sex[i].checked){//利用循环判断用户是否选中
  7.                         chk++;//如果选中则chk加1
  8.                         alert(sex[i].value);
  9.                        return true;
  10.                     }
  11.                 }
  12.                 if(chk==0){//判断chk 如果chk的值没有变化,说明用户没有选中任何选项
  13.                 alert("请选择性别 ");//提示用户选择性别
  14.                 return false;
  15.                 }
  16.             }
  17.          
  18. </script></p>
复制代码
Html代码如下:
  1. <p><body>

  2.                 <form action="" method="post" onsubmit="return check()">

  3.                         <input type="radio" name="sex" value="nan" />
  4.                         男
  5.                         <input type="radio" name="sex" value="nv" />
  6.                         女
  7.                         <input type="submit" value="提交" />
  8.                 </form>
  9.         </body></p>
复制代码
回复 使用道具 举报
你的输出结果老是nan 和nv 是因为你没有加判断,获取完值就直接输出了。和选没选中没有关系,得通过sex[i].checked判断一下。
回复 使用道具 举报
穆爱明 发表于 2013-6-6 09:40
你的输出结果老是nan 和nv 是因为你没有加判断,获取完值就直接输出了。和选没选中没有关系,得通过sex.che ...

确实是这样,非常感谢你!!!
回复 使用道具 举报
通过sex[i].checked判断一下吧,直接输出的肯定是两个值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马