`
蓝色飞扬
  • 浏览: 94967 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript中Docuent.all的用法,Struts中的多表单提交

阅读更多

document.all是页面内所有元素的一个集合。例如:  
    
document.all(0)表示页面内第一个元素,由于在Struts页面中使用<html:form>的时候不能为form命名

此时在javascript 中获取表单元素用document.all就可以获得表单元素的值

下面的代码片段演示了在Struts页面中document.all()的用法以及Struts中的多表单提交
<script type="text/javascript">
  function send(data) {
   var name = document.all.loginName.value;
   alert(name);
   if(data == "删除") {
    window.navigate("/40strutsclass4/login.do?type=delete&name="+name);
   }
  }
</script>
   <html:form action="/login.do" method="post">
     <table border="0">
        <tr>
          <td>LoginName:</td>
          <td><html:text property="loginName" value="12"/></td>
        </tr>
        <tr>
          <td colspan="2" align="center">
           <input type="button"  value="删除"/>
           <html:submit value="find" property="type"/>
          </td>
        </tr>
      </table>
    </html:form>

对应的struts-config中的配置
<action
      attribute="loginForm"
      input="/login.jsp"
      name="loginForm"
      parameter="type"
      path="/login"
      scope="request"
      type="com.accp.struts.action.LoginAction" />

注意写parameter属性,这里不写的话就会报错

所对应的Action中的方法,需要注意的是action类要继承DispatchAction类

public ActionForward delete(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  LoginForm loginForm=(LoginForm)form;
  System.out.println("delete!!!!!!!!!!!!!!!!!!!!!!!"+request.getParameter("name")+loginForm.getLoginName());
  return null;
}
其中方法名必须与 <html:submit value="find" property="type"/>中的value 相同,或与 window.navigate("/40strutsclas

s4/login.do?type=delete&name="+name);中的type对应的值相同.

多表单提交可以实现一个jsp页面中包含多个提交按钮,并且都提交的同一个Action类,由一个action类来处理不同的业

务逻辑

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics