谢谢各位!希望对javascript比较熟悉的朋友帮我看看,有时间一定好好研究一下js

解决方案 »

  1.   

    忘了补充了:上面是我的想法,不过查了一下,没发现可以获取页面中所有radio对象的方法,各位知道吗或有其他思路吗?试了很久,有点急了....
      

  2.   

    var b=document.getElementsByYagName("input")
    for(var i=0;i<b.length;i=i+1){
    if(b[i].type=="radio")
       alert(b[i].type)
    }
      

  3.   


    var b=document.getElementsByTagName("input")
    for(var i=0;i<b.length;i=i+1){
    if(b[i].type=="radio")
    alert(b[i].type)
    }
      

  4.   

    上面的逻辑有点问题,改了一下:function check(){radio=(页面所有radio对象数组)            //有这样的方法吗?
    for(var i=0;i<radio.length;i++){
       var ischeck=0;
       for(var j=0;j<radio[i].length;j++){
           if(radio[i][j].checked) {
             ischeck=1;
             break;
           }
       }
       if(!ischeck){
            alert("请继续选择!");
             return false;
       }
    }
    return true;
    }
      

  5.   

    我的方法就是取页面所有radio对象数组的]
    document.getElementsByTagName("input")
    先取input数组,再看是不是radio
      

  6.   

    把radio都放到form中
    <form name="form1">
    极同意  <input type="radio" name="4" value="5">&nbsp;&nbsp;
    同意    <input type="radio" name="4" value="4">&nbsp;&nbsp;
    一般    <input type="radio" name="4" value="3">&nbsp;&nbsp;
    不同意  <input type="radio" name="4" value="2">&nbsp;&nbsp;
    极不同意<input type="radio" name="4" value="1">&nbsp;&nbsp; 
    </form><script>
    var list = document.form1.elements;
    for(var i=0;i<list.length;i++){
        if(list[i].type == "radio"){
           alert(list[i].value);
        }
    }
    </script>
      

  7.   

    function check(){
    var b=document.getElementsByTagName("INPUT");  
      for(var i=0;i<b.length;i++){   
                if(b[i].type=="radio"){
       var ischecked=false;
       for(var j=0;j<b[i].length;j++){
       if(b[i][j].checked){
        ischecked=true;
    break;
    }
    }
    if(ischecked==false){
    alert("请继续输入");
    return false;
    }
    }
    }
      return true;

     }
    运行後发现即使radio全选择过了,还有会alert("请继续输入");return false;
    页面中除了radio还有一些其他表单对象的,但我不想验证他们
    问题出在哪里呢?

      

  8.   

    是不是if(b[i].type=="radio")这句没有工作,而判断了其他表单控件,从而返回false啊?
      

  9.   


    function check(){
    var b=document.getElementsByTagName("INPUT");
    ischecked=false;
    for(var i=0;i<b.length;i++){
    if(b[i].type=="radio"){
    if(b[i].checked==false){
    ischecked=true;
    }}
    if(ischecked==true){
    alert("请继续输入");
    return false;
    }
    }
    }
    return true;}
      

  10.   

    function check(){
    var b=document.getElementsByTagName("INPUT");
    ischecked=false;
    for(var i=0;i<b.length;i++){
    if(b[i].type=="radio"){
    if(b[i].checked==false){
    ischecked=true;
    } } }
    if(ischecked==true){
    alert("请继续输入");
    return false;
    }return true;}
      

  11.   

    调试发现 b[i].checked==true or false 指的是一组单选框中单个的<input type="radio" name="4" value="5">是否被选中,而不是该组单选框是否被访问者选择,所以这种方法行不通。
    关键是要在判断时判断一组单选框是否有其中一个被选择。我已在自己的网页中完成,但方法不通用,就不列出了。
    大家另外有什么好方法可以交流一下