全部博文(247)
分类: jQuery
2015-06-23 17:14:38
jQuery.Form.js 插件的作用是实现Ajax提交表单
一、方法:
1.formSerilize() 用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式。
2.clearForm() 清除表单中所有输入值的内容。
3.restForm 重置表单中所有的字段内容。即将所有表单中的字段恢复到页面加载时的默认值。
ajaxForm 预处理将要使用AJAX方式提交的表单,将所有需要用到的事件监听器添加到其中。可有一个参数。立即通过AJAX方式提交表单。最常见的用法是对用户提交表单的动作进行响应时调用它。可有一个参数。
二、疑问:
ajaxForm()与ajaxSubmit()的区别:
答案:
$("#form1").ajaxForm(); 相当于以下两行:
$("#form1".submit)(function(){
$("#form1").ajaxSubmit();
return false;
}) //也就是说ajaxFrom()会自动阻止表单提交。而ajaxSubmit()不会自动阻止表单提交,想阻止表单提交,要自己return false;
三、参数:
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 //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。
}
传参方式1:
如果希望表单提交完成后不跳转,那么一行简单的代码就能够实现,几乎与不使用表单提交是一样的:
$("#MailForm").ajaxSubmit(function(message) { alert("表单提交已成功!"); });
传参方式2:
点击(此处)折叠或打开
参数详细说明:
[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]缺省值: null success 当表单提交后执行的函数。 如果'success' 回调函数被指定,当server端返回对表单提交的响应后,这个方法就会被执行。 responseText 和 responseXML 的值会被传进这个参数 (这个要依赖于dataType的类型).
缺省值: null
dataType 指定服务器响应返回的数据类型。其中之一: null, 'xml', 'script', 或者 'json'. 这个 dataType 选项用来指示你如何去处理server端返回的数据。 这个和 jQuery.httpData 方法直接相对应。 下面就是可以用的选项:'xml': 如果 dataType == 'xml' 则 server 端返回的数据被当作是 XML 来处理, 这种情况下'success'指定的回调函数会被传进去 responseXML 数据
'json': 如果 dataType == 'json' 则server端返回的数据将会被执行,并传进'success'回调函数
'script': 如果 dataType == 'script' 则server端返回的数据将会在上下文的环境中被执行
缺省值: null
semantic 一个布尔值,用来指示表单里提交的数据的顺序是否需要严格按照语义的顺序。一般表单的数据都是按语义顺序序列化的,除非表单里有一个type="image"元素. 所以只有当表单里必须要求有严格顺序并且表单里有type="image"时才需要指定这个。缺省值: false
页面js代码:
页面HTML代码:
后台: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(); }
示例源代码:点此下载
参考:http://www.cnblogs.com/kissdodog/archive/2012/12/13/2817191.html和http://blog.csdn.net/memray/article/details/8483024