各位大侠 我想在form提交后执行一个事件 请问该怎么写呢?

解决方案 »

  1.   

    form提交到一个web组件去处理,这个web组件可以是jsp也可以是servlet在jsp或者servlet里面去搞假如你提交到jsp,就提交给自己<%
        String fk = request.getParameter("fk");//...就在这里处理
    %>
    <form name="fk" action="fk.jsp">
        
    </form>
      

  2.   

    贴个servlet登录示例吧:
    package com.servlet;import javax.servlet.http.*;
    import java.io.*;public class login extends HttpServlet{

    public void doGet(HttpServletRequest req,HttpServletResponse res){
    //logic
    try {
    //设置页面支持中文
    res.setContentType("text/html;charset=gbk");
    PrintWriter pw=res.getWriter();
    pw.println("<html><body>");
    pw.println("<h1>用户登录</h1>");
    //pw.println("<form action=loginCheck method=post>");
    pw.println("<form action=loginCheckInDatabase method=post>");
    pw.println("用户名:<input type=text name=username><br>");
    pw.println("密密码:<input type=password name=passwd><br>");
    pw.println("<input type=checkbox name=keep value=2>两周内不再重新登录<br>");
    pw.println("<input type=submit value=登录><br>");
    pw.println("</form>");
    pw.println("</body></html>");
    }
    catch (Exception ex) {
    ex.printStackTrace();
    }
    }

    public void doPost(HttpServletRequest req,HttpServletResponse res){
    this.doGet(req,res);
    }
    }
    package com.servlet;import javax.servlet.http.*;
    import java.io.*;public class loginCheck extends HttpServlet{
    //req用户获得客户端信息
    //res向客户端返回信息
    public void doGet(HttpServletRequest req,HttpServletResponse res){
    try {
    //接收用户名和密码
    String uname=req.getParameter("username");
    String upass=req.getParameter("passwd");

    //验证
    if(uname.equals("admin")&&upass.equals("admin")){
    //写入session
    HttpSession hs=req.getSession(true);
    //修改session的存在时间=20S
    hs.setMaxInactiveInterval(20);
    hs.setAttribute("u",uname);
    hs.setAttribute("p",upass);
    res.sendRedirect("Welcome");
    }else{
    //验证不合法,转入登录界面
    res.sendRedirect("login");
    }
        }
        catch (Exception ex) {
        }
    }

    public void doPost(HttpServletRequest req,HttpServletResponse res){
    this.doGet(req,res);
    }
    }
    web.xml设置: <servlet>
            <servlet-name>Checklogin</servlet-name>
            <servlet-class>com.servlet.loginCheck</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>Checklogin</servlet-name>
            <url-pattern>/loginCheck</url-pattern>
        </servlet-mapping>
      

  3.   

    1.如果你是问 提交后怎么处理提交的数据
    在提交的页面或者servlet接收后处理 即可
    2.如果你是问 form 提交前 客户端处理数据
    在 js function 里处理
    3.如果你是想局部提交
    用ajax 提交 ,处理返回数据 局部刷新页面
      

  4.   

    我现在的问题是 在catalog.jsp中含有一个iframe 
    <iframe id="catalogframe" name="catalogframe" style="height:200px" width="100%" allowTransparency="true" src="${ctx}/admin/learn/catalogForm.jsp"></iframe>   在这个iframe中引用了一个catalogForm.jsp在此jsp中
    有一个form
       <form action="${ctx}/saveCatalog.do" id="form1" name="form1" method="post" target="catalogframe">
    我希望 在catalogFrom.jsp中提交form后刷新catalog.jsp
      

  5.   

    我先在用的是Struts2+hibernate+spring   form中填充的事Catalog对象
      

  6.   

    楼主是说jsp的action跳转之后还想继续处理一些业务是吧。 下面是给你楼主的建议:    按钮用button ,定义onclick。不用submit。
        动态定义action及submit. var testForm = document.getElementById("testForm"); // form对象
     testForm.action = "test.do"; // 设置form的action属性
     testForm.submit(); // form提交 // 这里可以继续做其他事情
        
      

  7.   

    可以动态调用action和submit。
    例如你的form的名字为f,则可以在按钮的onclick事件中写如下代码:
    <input type="button" value="提交" onclick="javascript:document.f.action='XXX';document.f.submit();"/>
    其中XXX为动态调用的action。