<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%
String path = request.getContextPath();
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>student</title>
<link rel="stylesheet" href="skin/style.css" />
<link rel="stylesheet" type="text/css" href="skin/davt.css" /><%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%
String path = request.getContextPath();
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>服务器主机管理</title>
<link rel="stylesheet" href="skin/style.css" />
<link rel="stylesheet" type="text/css" href="skin/davt.css" /><script type="text/javascript">
  function delcfm(name) {//删除
  var names = document.getElementsByName(name);   
  var len = names.length;
  var gg=0;   
  if (len > 0) {
  var i = 0;
  for (i = 0; i < len; i++) {
  if(names[i].checked) {
gg=1;
  }
  }
  }
  if(gg==0){
   alert("请选择要删除的记录,至少选一个。");
   return false;
  } else if (confirm("确定要删除吗?")) {
   document.getElementById("form").action="test.do?id=${m.id}&command=dele";    document.getElementById("form").submit();
   return true;
  } else {
   return false;
  }
  } function modifycfm(name) {//修改
  var names = document.getElementsByName(name);   
  var len = names.length;
  var gg=0;
  if (len > 0) {
  var i = 0;
  for (i = 0; i < len; i++) {
  if(names[i].checked) {
gg++;
  }
  }
  }
  if(gg==0){
   alert("请选择一个要修改的记录! ");
   return false;
  }
  else if(gg==1){
   document.getElementById("form").action="test.do?id=${m.id}&command=dele";
   return true;
  }
  else if(gg>1){
   alert("只能选择一个进行修改!");
    return false;
  }
  else {
   return false;
  }
  }
  
  
  function checkEvent(name, allCheckId) {   
  var allCk = document.getElementById(allCheckId);   
  if (allCk.checked == true) checkAll(name);   
  else checkAllNo(name);   
  }
    
  //全选
  function checkAll(name) {
  var names = document.getElementsByName(name);
  var len = names.length;
  if (len > 0) {
  var i = 0;
  for (i = 0; i < len; i++)
  names[i].checked = true;
  }
  }
  
  //全不选
  function checkAllNo(name) {   
  var names = document.getElementsByName(name);   
  var len = names.length;   
  if (len > 0) {   
  var i = 0;   
  for (i = 0; i < len; i++)   
  names[i].checked = false;   
  }
  }
</script>  </head>
<body>
<div style="margin-left:10px">
    <div style="1px solid red; float:left; width:300px; overflow:hidden;">
     当前节点总数:<font color="red" >${ totalCount }</font>
    </div>
    <div  style="margin-left:850px;" >
           <a href="<%=path%>/admin/nodeinfo_add.jsp" >
               <img src="skin/images/add.png" border="0"/>
               <div style="float:right;overflow:hidden; margin-right:32px; margin-top:2px">添加节点</div></a>
    </div>
</div><form action="<%=path%>/test.do?command=dele" method="post" ><table cellpadding="2" cellspacing="0"  id="table" >
    <thead>
      <tr>
          <th>
           <input type="checkbox" id="ckall" onclick="checkEvent('ck','ckall')"/>
        </th>
        <th width="100" >ID</th>
        <th width="120" >name</th>
        <th width="50" >age</th>
         </tr>
    </thead>
    
  <c:forEach items="${list}" var="m" >
            <tr style="height:25px">
                <td class="td">
                    <input type="checkbox" name="ck" value="${m.CDNID}"/>
                </td>
                
                <td class="td">${m.id}</td>
                <td class="td">${m.name}</td>
                <td class="td">${m.age}</td>
                <td class="td">${m.MOD_TIME}</td>
                
            </tr>
        </c:forEach>
</table>
<div style="margin-top:5px; margin-left:5px" >
    <input type="submit" value="删除"  id="a1" onclick="return delcfm('ck')" >
    <input type="submit" value="修改"  id="a1" onclick="return modifycfm('ck')" >
</div>
</form>
    <script type="text/javascript">
        for(i=0;i<table.rows.length;i++){  
            (i%2==0)?(table.rows(i).className="color_td1"):(table.rows(i).className="color_td2");  
        }
    </script>
</body></html>上面一个表单要提交到后台一个Action的不同方法上,也就是一个表单要提交两个Action
可是ocument.getElementById("form").action="test.do?id=${m.id}&command=dele";
后面的链接传递不了参数啊,command发生冲突,即便不冲突,参数在后台request.getParameter();也获取不到。有什么办法能使他正常的提交啊,让后台Struts的Action 找到指定的方法上

解决方案 »

  1.   

     else if(gg==1){
              document.getElementById("form1").action="test.do?id=${m.id}&command=dele";
              return true;
          }<form action="<%=path%>/test.do?command=dele" method="post" id="form1">
    你的form没有id,且id不要和标签同名以免冲突
      

  2.   

    你的form也没定义id怎么能用document.getElementById取呢
      

  3.   

    还行不行啊,后台根本找不到command的值,接收不到。
      

  4.   

    我已经加了
    但是还是不好使
    后台根本获取不到前台的值
    document.getElementById("form1").action= 后面的链接根本不让传递参数
    现在有什么好的办法能解决那
      

  5.   

    location.href="<%=path%>/nodeinfo.do?command=dele 
    可以接受数据
    可是JSP页面上还是出同样的异常
    奇怪啊
      

  6.   


    现在还是不好使啊,帮帮忙啊,怎么办那?
    后台根本接收不到command啊,根本不让传递参数啊,我用location.href="<%=path%>/nodeinfo.do?command=dele  
    后台能接收command但是前台JSP页面还是出同样的异常啊
    有没有更好的办法啊
      

  7.   


    我试过了,后台根本就接收不到传递参数的那个
    请求的是这个 test.do?id=${m.id}&command=dele
    后台request.getRequestURI()接收的只有 test.do 后面的都没有
    document.getElementById("form").action根本就不让传递参数啊
    我换成了 location.href 
    都不行 
    只能获取test.do
    后面都没有
    现在有什么办法可以解决啊
      

  8.   

    我很奇怪LZ的代码没有做submit操作为什么会传到后台
      

  9.   

    在JS里转,目的是一个表单提交多个action
      

  10.   

    在JS里我也没见你提交表单啊
    只是给表单的action赋了一下值啊
      

  11.   

    document.getElementById("form1").action="<%=path%>/nodeinfo.do?id=${m.CDNID}&command=queryById";
        document.getElementById("form1").submit();程序里是这样的
    上面复制的时候落下了现在提价了
    后台根本获取不到参数
    怎么传递参数?