Validform使用ajax詳解




demo.config({
    showAllError:true,
    url:"這里指定提交地址",
    ajaxpost:{
        //可以傳入$.ajax()能使用的,除dataType外的所有參數;
    },
    ajaxurl:{
        //可以傳入$.ajax()能使用的,除dataType外的所有參數;
    }
})

可用參數:
tiptype等 5.3.2+:可以在這里設置初始化可用的所有參數
url:指定表單的提交路徑,這里指定的路徑會覆蓋表單action屬性所指定的路徑
ajaxpost:表單以ajax提交時,可以在這里配置ajax的參數
ajaxurl:配置實時驗證ajax的參數

①、config方法還能為已經初始化過的表單重新配置參數了!5.3.2+
如var demo=$(".formsub").Validform();
demo.config({tiptype:2});
demo下的各表單還能分別配置不同參數!
如demo.eq(0).config({tiptype:1,ajaxPost:true});
demo.eq(1).config({tiptype:1,callback:function(curform){my_method_to_submit_form(); return false;}});

②、執行config可以動態設置、添加參數,如:
demo.config({
    url:"http://validform.rjboy.cn"
});
$(".save").click(function(){
    demo.config({
        ajaxpost:{
            timeout:1000
        }
    });
});
那么在點擊save按鈕后,demo所對應的表單的config={
    url:"http://validform.rjboy.cn",
    ajaxpost:{
        timeout:1000
    }
}
③、參數url的優先級:form表單的action所指定的提交地址會被config.url覆蓋,
config.url會被config.ajaxpost.url覆蓋,config.ajaxpost.url會被Validform對象的方法submitForm(flag,url)
和ajaxPost(flag,sync,url)里的url覆蓋。
如果表單里沒有指定action提交地址,那么就會提交到config.url設定的地址。
考慮到整個驗證框架的邏輯,傳入dataType參數不會起作用,不會被覆蓋,ajax必須返回含有status值的json數據。

④、另外注意的是:傳入的success和error方法里,能多獲取到一個參數,如:
demo.config={
    ajaxpost:{
        url:"",
        timeout:1000,
        ...,
        success:function(data,obj){
            //data是返回的json數據;
            //obj是當前表單的jquery對象;
        },
        error:function(data,obj){
            //data是{ status:**, statusText:**, readyState:**, responseText:** };
            //obj是當前表單的jquery對象;
        }
    },
    ajaxurl:{
        success:function(data,obj){
            //data是返回的json數據;
            //obj是當前正做實時驗證表單元素的jquery對象;
            //注意:5.3版中,實時驗證的返回數據須是含有status值的json數據!
            //跟callback里的ajax返回數據格式統一,建議不再返回字符串"y"或"n"。目前這兩種格式的數據都兼容。
        }
    }
}


免責聲明!

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



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