function checkall()
{if (document.all.list.checked){
    question = confirm("你确认要删除此订单吗?") 
if (question == true)
    { 
    top.document.location="del2.asp" 
refresh
    } 
    if (question == false)
    {
    return false;
    } 
 }
else alert("你没有选择任何选项!")
}
</SCRIPT>

解决方案 »

  1.   

    <SCRIPT language=JavaScript>
    function checkall()
     {
       if (document.all.list.checked)
         {
           question = confirm("你确认要删除此订单吗?") 
           if (question == true)
            { 
            top.document.location="del2.asp" 
          refresh
            } 
           if (question == false)
            {
            return false;
            } 
          }
        else alert("你没有选择任何选项!")
        return false;
    }
    </SCRIPT>
    上面这样写,但老是跳过中间的确认和取消,总是说没选择,
      

  2.   


    问题出在这里:
      “我做了一个复选框删除,
      <td align="center"><input type=checkbox name=list value="<%=rs("id")%>">
      循环语句”你使用了循环语句,循环了N 个checkbox,而他们的名字都是list,应该用上不同的名字。
      

  3.   

    不用不同的名字,你在验证的时候要给定一个checkbox的总数,循环验证就可以了。
    例子:
    function checkdel(n)
    {if (document.frmdel)
     {
      var id,i
      id=""
      if (n>1)
      {
        for (i=0;i<n;i++)
        {
         if (document.frmdel.list[i].checked)
         { id=id+document.frmdel.list[i].value+"||";}
        }
      }
      else
      { if (document.frmdel.list.checked)
        {id=id+document.frmdel.list.value+"||";}
      }
     checknull(id);
     }
    }function checknull(id)
    {if (id=="")
     {
     alert("系统提示:\n\n请选择你要删除的图片\n\n在删除项中打勾表示选中,将被删除.    ");
     }
     else
     {
       if (confirm("系统提示:\n\n   你确定要删除你选中的图片吗?    \n\n"))
       {
       document.location.href="imgdel.asp?ID="+id;}
      }
    }这里的把选中要删除的值付给一个变量id,这个id是由checkbox的value组成,
    用||做分割符,在服务器端由:
       ID=Request.QueryString("ID")
       docID=Split(ID,"||",-1,0)
       j=UBound(docID)-1
       i=LBound(docID)
       IF j<0 Then
          conn.close
          Response.write "删除文件时出错,请与网络管理员联系"
          Response.end
       End IF
       For i=i TO j
           checknum docID(i),0 '验证函数,自己写一个,也可以不要
           csql="delete from table where ID="&docID(i)
           RS.open csql,conn,3,3
       Next
    也可以用:
    csql=delete from table where "
    For i=i TO j
           checknum docID(i),0 '验证函数,自己写一个,也可以不要
        if i=j Then
           csql=csql & "ID="&docID(i)
        else
           csql=csql & "ID="&docID(i) &","
        end if
    Next
           RS.open csql,conn,3,3