<script type="text/javascript">     function checkInvalidate(){
    var chk=document.getElementsByName("chk");
    for(var i=0;i<chk.length;i++){
    if(chk[i].type=="checkbox"){
    if(chk[i].checked==true){
    var r=confirm("确定删除?");
if (r==true)
  {
     document.myform.submit();
     return;
      }else{
       return;
      }
    }
    }
    }
    alert("请选择需要删除的头像");
    }
    function ok(){
var r=confirm("确定删除?");
     if (r==true)
     {
      document.photoform.submit();
     }
}
</script>
            <div style="width:1300px; float:left" align="left">
  <form action="PhotoServlet?action=delall" method="post" name="myform">
<%
for(int i = 0;i<photoList.getList().size() ;i++){
 Photo photo = photoList.getIndex(i);
 %>
                 <div style="width:200px; float:left; margin-left:50px" align="left">
                     <form name="photoform" action="PhotoServlet?action=del&photoId=<%=photo.getId() %>" method="post">
                           <img
                    src="<%=photo.getPath() %>\<%=photo.getName() %>"
                    alt="${photo.shuoming }" width=150 height=113
                    border='0' align="middle"><br>
                  <input type="button" name="del" value="删除" onclick="ok();return false;" />
                  <input type="checkbox" name="chk" value="<%=photo.getId()%>">
                        </form>
                    </div>
                    <%
                     }
                     %>
                </form>
            </div>             <a href="javascript:checkInvalidate()" class="next">批量删除</a>这样怎么解决哇?能不能不要两个FORM~~~我知道这样做是不行滴~有其他思路吗

解决方案 »

  1.   

    你干嘛要两个form嵌套哪有这么用的。
      

  2.   

    form嵌套使用有可能会出现非预期异常的 最好不要这样用
      

  3.   

    里面的可以通过onclick,然后this.location这样可以么?
      

  4.   

    <div style="width:200px; float:left; margin-left:50px" align="left">
                         <form name="photoform" action="PhotoServlet?action=del&photoId=<%=photo.getId() %>" method="post">
                               <img
                        src="<%=photo.getPath() %>\<%=photo.getName() %>"
                        alt="${photo.shuoming }" width=150 height=113
                        border='0' align="middle"><br>
                      <input type="button" name="del" value="删除" onclick="ok();return false;" />
                      <input type="checkbox" name="chk" value="<%=photo.getId()%>">
                            </form>
                        </div>
                        <%
                         }
                         %>
                    </form>
                </div>
    你这一段无非就是想实现单个删除不是么,那你完全可以用<a href="actionname?canshu1=<%=xx%>&canshu2=<%=xx%>">删除</a> 这样写不会提交form
      

  5.   

    想不到其他方法实现两个action
      

  6.   

    想不到其他方法实现两个action把两个action合成一个,就行了呗,不行的话考虑一下ajax
      

  7.   

    想不到其他方法实现两个action把两个action合成一个,就行了呗,不行的话考虑一下ajax如何合?都用不同的action
      

  8.   

    form嵌套的情况只能通过获取form对象.submit()这种方式提交因为浏览器也不知道你具体要提交哪个表单。、
      

  9.   

    因为你是在循环里面加入的form,那么为每一个form添加一个唯一的id,  上面可以使用<from id="form<%=i%>" >
    然后提交的时候使用document.getElementById("xx").submit();  至于xx是怎么指定,可以在循环的时候就指定好。如:checkInvalidate("form<%=i%>")