簡體   English   中英

用AJAX提交HTML 5表單?

[英]Submit a HTML 5 Form with AJAX?

用ajax提交表單時遇到了麻煩。

由於HTML5表單已經在輸入標記中進行了“必需”驗證,因此無需進行JavaScript驗證檢查。 但是,因此,在通過這些驗證檢查之后,我不知道如何使用javascript(jQUERY)提交表單。 換句話說,我怎么知道驗證檢查是否已經通過?

例如:條件? (在加載提交的頁面之前我應該​​處於什么條件)? (“ div”)。load(finishSubmittingForm.html))};

任何的想法?

謝謝

有一些可用的API方法。 請參閱developer.mozilla.org

但是,我強烈建議您在依賴HTML5驗證之前請仔細考慮。 由於它仍處於“嬰兒期”,因此它目前肯定具有一些主要缺點。 我要說的是,現在,使用JS驗證庫會更好。 jQuery驗證非常出色。

從規格:

如果用戶按下提交按鈕。 瀏覽器必須首先驗證表單,如果表單有效,則將引發Submit事件。

這意味着,您可以簡單地掛接到表單的Submit事件並啟動ajax。

$('form').bind('submit', function(){
    //Ajax implementation here
});

但是,Opera在這里有一個非常討厭的錯誤。 Opera首先觸發Submit事件,然后驗證表單。

您可以通過使用HTML5的驗證方法來解決此問題。 看起來像這樣:

$('form').bind('submit', function(){
    if(!this.checkValidity || this.checkValidity()){
        //Ajax implementation here
    }
});

關於HTML5表單規范的當前狀態。 有一些部分應該擴展形式規格。 這些功能目前已在FF4和其他功能中實現(FF4具有比Opera和Chrome少的形式功能,但非常好的實現)對於生產來說足夠穩定。

如果要在所有瀏覽器中使用HTML5表單,建議使用webshims HTML5表單polyfill 它不僅可以填充無法使用的瀏覽器,還可以修復瀏覽器中的一些錯誤,這些錯誤尚未根據規范實現表單功能。 例如,上面提到的Opera錯誤會自動修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM