ajaxForm与ajaxSubmit的区别

在使用这两种方法之前,首先需要安装form.js的插件;

一、首先说用法,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         //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。  

}

html代码:

<form action="" id="persondetail" method="post">
<div>姓名:<input name="text1" type="text" class="inputbox"></div>
<div>年龄:<input name="text2" type="text" class="inputbox"></div>
<div>爱好:<input name="text3" type="text" class="inputbox"></div>
<div><input id="submitbtn" type="submit" value="提交"></div>
</form>

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按钮。

 $("form").submit(function(){
            $(this).ajaxSubmit();
            return false;        //此句解释了为什么ajaxSubmit会自动提交表单,想要阻止自动提交,必须return false;
        })

三、用代码说明两者的区别:
1.ajaxForm()方法–不能主动提交form,函数只是为提交表单做准备需要以submit来触发提交,仍然会进行页面的跳转

<form id="myForm" action="hello.php" method="post" onsubmit="return sub()"> 
        <input type="text" name="name" /> <br/>
        <input type="text" name="address" /><br/>
        <input type="submit" id="test" value="提交"/> <br/>
</form>

function sub(){
            $("#myForm").ajaxForm(function(message){
                console.log(message);
            });
            return false;//控制页面的跳转
}

通过上面的代码看出,ajaxForm()方法不能主动提交form表单,要借助于提交按钮的submit事件触发提交,虽然有return false,仍然会进行页面的跳转。。
2.ajaxSubmit()方法–可以主动提交表单,点击其他按钮也就可以触发提交,不一定是submit按钮;利用return false可以阻止页面的跳转。。

<form id="myForm" action="hello.php" method="post"> 
        <input type="text" name="name" /> <br/>
        <input type="text" name="address" /><br/>
        <input type="button" id="test" value="提交" onclick="sub()"/> <br/>
</form>

function sub(){
            $("#myForm").ajaxSubmit(function(message){
                console.log(message);
            });
            return false;//控制页面的跳转
}

上面代码中,ajaxSubmit()可以主动提交表单,可以不写在submit按钮的事件里面,点击其他按钮也可以触发;利用return false可以阻止页面的跳转。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值