Can
Be Better

jQuery使用ajaxSubmit()提交表单示例与ajaxForm和ajaxSubmit的用法与区别

ajaxSubmit(obj)方法是jQuery的一个插件jquery.form.js里面的方法,所以使用此方法需要先引入这个插件。如下所示:
代码如下:
<script src=”http://code.jquery.com/jquery-1.11.0.min.js”></script>
<script src=”http://malsup.github.io/jquery.form.js”></script>

一、首先说用法,ajaxForm和ajaxSubmit都可以接收0或1个参数,该参数可以是一个变量、一个对象或回调函数,这个对象主要有以下参数:

var object= {
url:url,      //form提交数据的地址
type:type,     //form提交的方式(method:post/get)
target:target,  //服务器返回的响应数据显示的元素(Id)号
beforeSerialize:function(){} //序列化提交数据之前的回调函数
beforeSubmit:function(){},  //提交前执行的回调函数
success:function(){},       //提交成功后执行的回调函数
error:function(){},             //提交失败执行的函数
dataType:null,       //服务器返回数据类型
clearForm:true,       //提交成功后是否清空表单中的字段值
restForm:true,        //提交成功后是否重置表单中的字段值,即恢复到页面加载时的状态
timeout:6000         //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。

}

那么,如何通过ajaxSubmit(obj)提交数据呢?首先我们需要一个form:
XHTML
 代码如下:
<form>
    标题:<input type=”text” name=”title” /><br />
    内容:<textarea name=”content”><textarea/><br />
    <button>提交</button>
</form>
上面是一个需要提交内容的form,通常情况下,我们直接通过form提交的话, 提交后当前页面跳转到form的action所指向的页面。然而,很多时候我们比不希望提交表单后页面跳转,那么,我们就可以使用ajaxSubmit(obj)来提交数据。使用方法如下所示:
 代码如下:
$(‘button’).on(‘click’, function() {
    $(‘form’).on(‘submit’, function() {
        var title = $(‘inpur[name=title]’).val(),
            content = $(‘textarea’).val();
        $(this).ajaxSubmit({
            type: ‘post’, // 提交方式 get/post
            url: ‘your url’, // 需要提交的 url
            data: {
                ‘title’: title,
                ‘content’: content
            },
            success: function(data) { // data 保存提交后返回的数据,一般为 json 数据
                // 此处可对 data 作相关处理
                alert(‘提交成功!’);
            }
            $(this).resetForm(); // 提交后重置表单
        });
        return false; // 阻止表单自动提交事件
    });
});

JS代码:

ajaxForm

$(function(){
     $("form").ajaxForm(object);
    
        })

ajaxSubmit

        $(function(){
$('#submitbtn').click(function(){
     $("form").ajaxSubmit(object);
})
           
        })

参数也可以为一个回调函数

复制代码
$(function(){
$('#submitbtn').click(function(){
     $("form").ajaxSubmit(function(data){
                alert(data);
           })
})
           
        })
复制代码

二、再说这两种方法的区别

这两种方法主要的却别是ajaxForm不能主动提交form,函数只是为提交表单做准备需要以submit来触发提交。而ajaxSubmit会主动提交表单,同时可以在点击其他按钮时也可以触发提交,不一定是submit按钮。

ajaxForm执行的时候其实相当于

$(“form”).submit(function(){
$(this).ajaxSubmit();

return false;        //此句解释了为什么ajaxSubmit会自动提交表单,想要阻止自动提交,必须return false;
})

赞(0) 打赏
不开启评论,如有问题疑问请发邮件。[email protected]最长的路 » jQuery使用ajaxSubmit()提交表单示例与ajaxForm和ajaxSubmit的用法与区别
分享到: 更多 (0)