第一百八十五节,jQuery,Ajax 表单插件

jQuery,Ajax 表单插件

学习要点:

  1.核心方法

  2.option 参数

  3.工具方法

传统的表单提交,需要多次跳转页面,极大的消耗资源也缺乏良好的用户体验。而这款 form.js 表单的 Ajax 提交插件将解决这个问题。

一.核心方法

官方网站:http://malsup.com/jquery/form/

form.js 插件有两个核心方法:ajaxForm()和 ajaxSubmit(),它们集合了从控制表单元素 到决定如何管理提交进行的功能。

ajaxForm()方法,传统方式提交,在form元素上使用

传统方式提交,也就是采用的<input type="submit" value="提交" />

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

    $('#reg').ajaxForm(function () {  //success : fucntion () {}就是这里的function
        alert('提交');                
    });

ajaxSubmit()方法,表单不是传统方式提交,使用了js的 Submit()方法,提交

    $('#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 除了提供两个核心方法之外,还提供了一些常用的工具方法。这些方法主要是 在提交前或后对数据或表单进行处理的。

formSerialize()表单序列化,内置了的,这里还是需要了解一下

//表单序列化
alert($('#reg').formSerialize());

fieldSerialize()序列化某一个字段

//序列化某一个字段
alert($('#reg #user').fieldSerialize());

fieldValue()得到某个字段的 value 值

//得到某个字段的 value 值
alert($('#reg #user').fieldValue());

resetForm()重置表单

//重置表单
$('#reg').resetForm()

clearFields()清空某个字段

//清空某个字段
$('#reg #user').clearFields();
原文地址:https://www.cnblogs.com/adc8868/p/6580879.html