ext.ajax异步提交html页面form表单非formPanel(转录,谢谢作者)

1. ext的formPanel表单的提交很多人都知道,但是如何用ext提交html页面普通的表单?

 

2. 在这里提供小的例子代码简单就不提供文件了,现将代码贴给大家分享。

 

3. jsp代码如下只包含一个简单的form

 

Java代码 

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  

  2.     pageEncoding="UTF-8"%>  

  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  

  4. <html>  

  5. <head>  

  6. <script type="text/javascript">  

  7.     var contextPath="<%=request.getContextPath()%>";  

  8. </script>  

  9. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  

  10. <title>Insert title here</title>  

  11. <link rel="stylesheet" type="text/css" href="ext-4.0.7/resources/css/ext-all.css" />  

  12. <script type="text/javascript" src="ext-4.0.7/bootstrap.js"></script>  

  13. <script type="text/javascript" src="js/extjs3.js"></script>  

  14. </head>  

  15. <body>  

  16.     <form action="" id="userForm" method="post">  

  17.         c_nme:<input type="text" id="c_nme" name="c_nme"/><br/>  

  18.         c_sex:<input type="text" id="c_sex" name="c_sex"/><br/>  

  19.         <input type="button" onclick="saveUser()" value="submit">  

  20.     </form>  

  21. </body>  

  22. </html>  

 

 

4. 提供js代码如下这里用struts1(struts2请自行配置url)

 

Java代码 

  1. function saveUser() {  

  2.  Ext.Ajax.request({    

  3.        url: contextPath+"/secured/cust/custController.do?method=saveUser",    

  4.        method: "POST",  

  5.       <span style="color: #ff0000;"> form : 'userForm',//这里为html表单名(必须有)</span>  

  6.        success: function (response, option) {    

  7.            response = Ext.JSON.decode(response.responseText);    

  8.            if (response.success == true) {    

  9.                if (response.flag == true) {    

  10.                    Ext.MessageBox.alert("提示""保存信息成功!");    

  11.                    Ext.getCmp('gridpanel').store.load();  //刷新列表  

  12.                }else {   

  13.                    Ext.MessageBox.alert("错误信息""保存信息失败!");  

  14.                }    

  15.            }else { Ext.MessageBox.alert("错误信息", response.msges); }    

  16.        },    

  17.        failure: function () { Ext.Msg.alert("提示""保存失败<br>没有捕获到异常"); }    

  18.          

  19.     });    

  20. }  

 

5. 提供action中方法如下(这里没有连接数据库)

 

Java代码 

  1. public ActionForward saveUser(ActionMapping iMapping, ActionForm form,  

  2.             HttpServletRequest request, HttpServletResponse response) {  

  3.         try {  

  4.             CustForm theForm = (CustForm) form;  

  5.             String name = theForm.getC_nme();  

  6.             String sex = theForm.getC_sex();  

  7.             System.out.println(name+" "+sex);  

  8.             response.setCharacterEncoding("UTF-8");  

  9.             response.setHeader("Cache-Control""no-cache,must-revalidate");  

  10.             response.setHeader("Pragma""no-cache");  

  11.             response.setDateHeader("Expires"0);  

  12.             // json.put("state", 1); // 成功标志  

  13.             response.getWriter().print("{success :false,flag:true,msges:'测试'}");  

  14.   

  15.         } catch (Exception e) {  

  16.             log.error(e.getMessage() + "删除table异常", e);  

  17.         }  

  18.         return null;  

  19.     }  

 


你可能感兴趣的:(js,ext)