<script>function beforesubmit()
{
var number = document.getElementById("qty1").value;
for (j=1;j<=number;j++){
if(document.getElementById("ou_user"+j).checked==false)
{
alert("至少選擇一位審核人!");
 document.getElementByName("ou_user"+j).focus();
return false;
}
}
var cond=confirm("確定申請嗎?")
if (!cond)  {
return false;
}
 }
</script>
<form id="form1" name="form1" method="POST" action="<%=MM_editAction%>" onSubmit="return beforesubmit()">              <% 
        j=1
            if rs1.recordcount>0 then
             do while not rs1.eof
          %>
 
       
         <input name="ou_user" type="radio" id="ou_user<%=j%>" value="<%=rs1("u_id")%>"  />
            <%=rs1("finishname")%>
    
          <%
   j=j+1
       rs1.movenext
   loop
   end if
     %>
 <input type="submit" name="button" id="button" value="確定"  />
</form>

解决方案 »

  1.   

    var number = document.getElementById("qty1").value;
    for (j=1;j<=number;j++)这块的问题吧document.getElementById("qty1").value你这块拿到的值是个字符串。根据,逗号或者别的符号分割成数组才能循环,要不进不了for循环
      

  2.   

    form里漏了一句<input name="qty1" type="hidden" id="qty1" value="<%=j-1%>" />
    完整的代码如下,,但是还不行<script>function beforesubmit()
    {
    var number = document.getElementById("qty1").value;
    for (j=1;j<=number;j++){
    if(document.getElementById("ou_user"+j).checked==false)
    {
        alert("至少選擇一位審核人!");
         document.getElementByName("ou_user"+j).focus();
        return false;
        }
    }
    var cond=confirm("確定申請嗎?")
        if (!cond)  {
            return false;
        }
     }
    </script>
    <form id="form1" name="form1" method="POST" action="<%=MM_editAction%>" onSubmit="return beforesubmit()">              <% 
                j=1
                if rs1.recordcount>0 then
                 do while not rs1.eof
              %>
     
           
             <input name="ou_user" type="radio" id="ou_user<%=j%>" value="<%=rs1("u_id")%>"  />
                <%=rs1("finishname")%>
        
              <%
           j=j+1
           rs1.movenext
           loop
           end if
         %>
    <input name="qty1" type="hidden" id="qty1" value="<%=j-1%>" />
     <input type="submit" name="button" id="button" value="確定"  />
    </form>
      

  3.   

    1.你这个方法只有return false 
    2.你不该 这么判断  第一个 你是选 了 可是循环没有停止 只有遇到一个不选的才会停
      

  4.   


    for (j=1;j<=number;j++){
       if(document.getElementById("ou_user"+j).checked==true){
          break;
       }
       alert("至少選擇一位審核人!");
       document.getElementByName("ou_user"+j).focus();
       return false;
      }
    }
      

  5.   


      var checkflag = false;
      for(var i=0;i<number;i++){
        if(document.getElementById("aaa"+i).checked = true){
          checkflag = true;
          break;
       }
      }
      if(checkflag==false){
        alert("至少选一个")
        return false;
    }
      

  6.   

    <script>function beforesubmit()
    {
    var number = document.getElementsByName('ou_user');
    for (j=1;j<=number;j++){
    if(document.getElementById("ou_user"+j).checked==false)
    {
        alert("至少選擇一位審核人!");
         document.getElementByName("ou_user"+j).focus();
        return false;
        }
    }
    var cond=confirm("確定申請嗎?")
        if (!cond)  {
            return false;
        }
     }
    </script>这样试试~·
      

  7.   

    注意我没有用你的原代码 
    有区别的地方改了
      var checkflag = false;
      for(var i=0;i<number;i++){
        if(document.getElementById("ou_user"+i).checked == true){
          checkflag = true;
          break;
       }
      }
      if(checkflag==false){
        alert("要至少选一个");
        return false;
      }
      

  8.   

    几经研究正确的js部分应该如下,但搞不懂这是什么意思 if (!checkflag)
    谢谢大家!<script>function beforesubmit()
    {
    var checkflag = false;
    var number = document.getElementsByName('ou_user');
    for (var j=0;j<number.length;j++)
    {
    if(number[j].checked)
    {
    checkflag=true;
    }
    }
    if (!checkflag)
    {
        alert("至少選擇一位審核人!");
        //document.getElementByName("ou_user").focus();
        return false;
        
    }
    var cond=confirm("確定申請嗎?")
    if (!cond)  {
    return false;
    }
     }
    </script>
      

  9.   

    几经研究正确的js部分应该如下,但搞不懂这是什么意思 if (!checkflag)之前不是定义var checkflag = false;然后如果有选择的话,checkflag就为true
    if(number[j].checked)
    {
    checkflag=true;
    }if (!checkflag)
    非就是取反,true就是false,false就为true如果没选择就进if
    弹出alert