jQuery.Form.js 插件的作用是实现Ajax提交表单。
方法:
1.formSerilize() 用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式。
2.clearForm() 清除表单中所有输入值的内容。
3.restForm 重置表单中所有的字段内容。即将所有表单中的字段恢复到页面加载时的默认值。
疑问:ajaxForm()与ajaxSubmit()的区别:
答案:$("#form1").ajaxForm(); 相当于以下两行:
$("#form1".submit)(function(){
$("#form1").ajaxSubmit();
return false;
}) //也就是说ajaxFrom()会自动阻止表单提交。而ajaxSubmit()不会自动阻止表单提交,想阻止表单提交,要自己return false;
技巧1:如果希望表单提交完成后不跳转,那么一行简单的代码就能够实现,几乎与不使用表单提交是一样的:
$("#frm1").ajaxSubmit(function(message) { alert("表单提交已成功!"); });
注意:ajaxForm()与ajaxForm()都可以没有参数或者接受1个参数。该参数既可以是一个回调函数,也可以是一个options对象。该对象功能非常强大,说明如下:
var options={
url:url, //form提交数据的地址
type:type, //form提交的方式(method:post/get)
target:target, //服务器返回的响应数据显示在元素(Id)号确定
beforeSubmit:function(), //提交前执行的回调函数
success:function(), //提交成功后执行的回调函数
dataType:null, //服务器返回数据类型
clearForm:true, //提交成功后是否清空表单中的字段值
restForm:true, //提交成功后是否重置表单中的字段值,即恢复到页面加载时的状态
timeout:6000 //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。
}
例子:
页面js代码:
<script src="jQuery.1.10.1.js" type="text/javascript"></script> <script src="jQuery.Form.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $(":submit").click(function () { var options = { url: "indexAjax.aspx", type:"post", success: function () { alert("成功啦"); } }; $("#frm1").ajaxForm(options); }) }) </script>
页面HTML代码:
<div id="div1"> <form id="form1" action="#"> <p>我的名字:<input type="text" name="name" value="请输入内容" /></p> <p>我的爱好:<input type="radio" name="Idol" value="玩游戏" />玩游戏
<input type="radio" name="Idol" value="写代码" />写代码</p> <p>我的擅长:<input type="checkbox" name="musictype" value="1.java">java
<input type="checkbox" name="musictype" value="2.c#">c#
<input type="checkbox" name="musictype" value="3.ios">ios</p> <p><input type="submit" value="确认" /></p> </form> </div> <div id="div2"> </div>
后台:indexAjax.aspx.cs代码
protected void Page_Load(object sender, EventArgs e) { string strName = Request["name"]; string strIdol = Request["Idol"]; string strMusicType = Request["musictype"]; Response.Clear(); Response.Write("我的名字是:" + strName + "; 我的爱好是:" + strIdol + "; 我的擅长:" + strMusicType); Response.End(); }