20151223jquery学习笔记--Ajax表单提交

传统的表单提交, 需要多次跳转页面, 极大的消耗资源也缺乏良好的用户体验。 而这款
form.js 表单的 Ajax 提交插件将解决这个问题。
一. 核心方法
官方网站: http://malsup.com/jquery/form/
form.js 插件有两个核心方法: ajaxForm()和 ajaxSubmit(),它们集合了从控制表单元素
到决定如何管理提交进行的功能。

//ajaxForm 提交方式
$('#reg').ajaxForm(function () {
alert('提交成功! ');
});

  注意: 使用 ajaxForm()方法, 会直接实现 ajax 提交。 自动阻止了默认行为, 而它提交的
默认页面是 form 控件的 action 属性的值。提交的方式是 method 属性的值。

//ajaxSubmit()提交方式
$('#reg').submit(function () {
$(this).ajaxSubmit(function () {
alert('提交成功! ');
});
return false;
});

  注意: ajaxForm()方法, 是针对 form 直接提交的, 所以阻止了默认行为。 而 ajaxSubmit()
方法,由于是针对 submit()方法的,所以需要手动阻止默认行为。而使用了 validate.js 验证
插件,那么 ajaxSubmit()比较适合我们。
二. option 参数
option 参数是一个以键值对传递的对象,可以通过这个对象,设置各种 Ajax 提交的功
能。

$('#reg').submit(function () {
$(this).ajaxSubmit({
url : 'test.php', //设置提交的 url,可覆盖 action 属性
target : '#box', //服务器返回的内容存放在#box 里
type : 'POST', //GET,POST
dataType : null, //xml,json,script,默认为 null
clearForm : true, //成功提交后,清空表单
resetForm : true, //成功提交后,重置表单
data : { //增加额外的数据提交
aaa : 'bbb',
ccc : 'ddd'.
},
beforeSubmit : function (formData, jqForm, options) {
alert(formData[0].name); //得到传递表单元素的 name
alert(formData[0].value); //得到传递表单元素的 value
alert(jqForm); //得到 form 的 jquery 对象
alert(options); //得到目前 options 设置的属性
alert('正在提交中!!! ');
return true;
},
success : function (responseText, statusText) {
alert(responseText + statusText); //成功后回调
},
error : function (event, errorText, errorType) { //错误时调用
alert(errorText + errorType);
},
});
return false;
});

  三. 工具方法
form.js 除了提供两个核心方法之外,还提供了一些常用的工具方法。这些方法主要是
在提交前或后对数据或表单进行处理的。

//表单序列化
alert($('#reg').formSerialize());
//序列化某一个字段
alert($('#reg #user').fieldSerialize());
//得到某个字段的 value 值
alert($('#reg #user').fieldValue());
//重置表单
$('#reg').resetForm()
//清空某个字段
$('#reg #user').clearFields();

  

 





posted @ 2015-12-23 20:20  破玉  阅读(364)  评论(0编辑  收藏  举报