Jquery.Form 异步提交表单实例
http://www.aqee.net/docs/jquery.form.plugin/jquery.form.plugin.html#getting-started
1. 在你的页面里写一个表单。一个普通的表单,不需要任何特殊的标记:
<form id="myForm" method="post" action="/Home/AjaxForm">
<div>
Name:<input id="username" name="username" type="text" />
Password:<input id="password" name="password" type="text" />
<br />
<input type="submit" value="submit async" id="lnkSubmit" />
</div>
</form>
在没有Jquery.Form组件的时候,提交表单,页面会进入阻塞模式,等待服务器端的响应。
2. 引入jQuery和Form Plugin Javascript脚本文件并且添加几句简单的代码让页面在DOM加载完成后初始化表单:
<head> <script type="text/javascript" src="path/to/jquery.js"></script> <script type="text/javascript" src="path/to/form.js"></script> <script type="text/javascript"> // wait for the DOM to be loaded $(document).ready(function() { // bind ‘myForm‘ and provide a simple callback function
// 为myform绑定ajaxForm异步提交事件,并提供一个简单的回调函数。 $(‘#myForm‘).ajaxForm(function() { alert("Thank you for your comment!"); }); }); </script> </head>
加上jquery.form组件后,提交表单时,页面不会再同步提交,而是由js做异步提交,因此提交后页面不会有刷新。
3. 加入能够与服务器端进行交互的回调函数。
1 |
|
//options是一个ajaxForm的配置对象。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
1 |
|
1 2 3 4 5 |
|
1 |
|
1 |
|
1 2 |
|
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
服务端的代码如下
1 2 3 4 5 6 7 |
|
4. 加入提交前的数据校验函数
为options对象添加 beforeSubmit属性
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
验证用户名是否为空,是则提示输入,并取消表单提交。