ajaxForm和ajaxSubmit的用法與區別


前幾天在學習form表單提交時看到這兩種方法,這兩種方法都是實現form的ajax提交的方法,看了很多資料還是不太明白其用法和區別,最后直接自己寫demo,很快就理解,所以說實操是學習的最快捷直接的途徑。好了,下面回到正題:

在使用這兩種方法之前,首先需要安裝form.js的插件,下載就不放了,網上一搜就有;

<script src="/Tool/HtmlPage/S45/js/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         //設置請求時間,超過該時間后,自動退出請求,單位(毫秒)。  

}

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

ajaxForm執行的時候其實相當於

 $("form").submit(function(){
            $(this).ajaxSubmit();

            return false;        //此句解釋了為什么ajaxSubmit會自動提交表單,想要阻止自動提交,必須return false;
        })

 

原文:http://www.cnblogs.com/xiaosama/p/4747848.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM