jQuery EasyUI里表单(Form)的用法和jQuery里AJAX的用法差不多,下面介绍一下具体用法:
HTML代码:
<form id="ff" method="post">...form>
然后按照《jQuery EasyUI框架使用文档》包含必要文件后,只要在$(function(){ }); 里插入下面的代码即可:
如果想使表单变成AJAX提交:
$('#ff').form({ url:..., onSubmit: function(){ // do some check // return false to prevent submit; }, success:function(data){ alert(data) } });
如果想做提交的动作:
$('#ff').form('submit', { url:..., onSubmit: function(){ // do some check // return false to prevent submit; }, success:function(data){ alert(data) } });
这两段代码之有很小的一个差别就是在设置参数的时候有个”submit”,下面来详细介绍一下这些参数的用法:
参数:
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
url | 字符串 | 表单提交的地址 | null |
事件:
事件名 | 参数 | 描述 |
---|---|---|
onSubmit | none | 提交之前触发的事件,如果返回false可以防止提交 |
success | data | 表单提交成功的时候触发 |
方法:
方法名 | 参数 | 描述 |
---|---|---|
submit | options | 执行提交的操作,选项的参数是一个对象,这个对象包括以下的属性: url:设置提交的地址; onSubmit:提交之前的回调函数 submit:提交成功后的回调函数 |
load | data | 加载记录来填充表单 选项参数可以是一个字符串或者是一个对象,字符串意味着是一个远程地址,否则就是一个本地的数据记录 |
clear | none | 清空表单数据 |
validate | none | 表单字段的验证,如果返回true,则说明所有的字段都是合法的。这个方法可以和validatebox插件联合使用 |
------------------------------------------------------------------------------------------------------------------------
下面是一个实例:
easyUI 中通过Ajax提交表单(Submit a form with Ajax)
1. 我们创建一个带有名称,电子邮件和电话号码的示例表单。
2. 通过使用easyui form插件将表单改为Ajax表单。
3. 该表单提交所有字段到后台处理程序,后台处理程序再将这些数据返回到前端页面,我们接收到这些数据并显示出来。
创建表单
<div style="width:230px;background:#E0ECFF;padding:10px;"> <form id="ff" action="/demo5/ProcessServlet" method="post"><table> <tr> <td>Name:td> <td><input name="name" type="text">input>td> tr> <tr> <td>Email:td> <td><input name="email" type="text">input>td> tr> <tr> <td>Phone:td> <td><input name="phone" type="text">input>td> tr> <tr> <td>td> <td><input type="submit" value="Submit">input>td> tr> table> form>div>
将表单改为Ajax表单
我们编写一些jQuery代码以使表单可以通过Ajax提交。
注意:success函数在接收到返回数据时触发,这样我们就可以处理这些数据了。
$('#ff').form({ success:function(data){ $.messager.alert('Info', data, 'info'); } });
后台处理程序(其他的框架都是大同小异的)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String name = request.getParameter("name"); String email = request.getParameter("email"); String phone = request.getParameter("phone"); System.out.println(name+":"+email+":"+phone); PrintWriter out = response.getWriter(); out.print("Name:"+name+"<br/>Email:"+email+"<br/>Phone:"+phone); out.flush(); out.close(); }