首頁 >web前端 >js教程 >如何使用 jQuery 防止雙重表單提交?

如何使用 jQuery 防止雙重表單提交?

Linda Hamilton
Linda Hamilton原創
2024-11-08 20:01:02266瀏覽

How Can I Prevent Double Form Submissions with jQuery?

使用jQuery 防止雙重表單提交

在某些情況下,當伺服器仍在處理表單時,必須阻止使用者重新提交表單。初次提交。本文使用 jQuery 提供了此問題的解決方案,承諾保留表單功能,同時有效抑制重複提交。

jQuery 程式碼導致問題

您最初的 jQuery 程式碼停用了所有表單元素,包括提交按鈕,這會導致表單未提交。僅停用提交按鈕至關重要,因為可能存在具有不同功能的多個按鈕。

修訂的解決方案

修訂的解決方案利用 jQuery 中的資料屬性來防止重複提交,而無需修改提交按鈕。以下是改進後的程式碼:

jQuery.fn.preventDoubleSubmission = function() {
    $(this).on('submit',function(e){
        var $form = $(this);

        if ($form.data('submitted') === true) {
            // Previously submitted - don't submit again
            e.preventDefault();
        } else {
            // Mark it so that the next submit can be ignored
            $form.data('submitted', true);
        }
    });

    // Keep chainability
    return this;
};

用法

要實現此解決方案,只需在表單元素上呼叫PreventDoubleSubmission 函數即可:

$('form').preventDoubleSubmission();

處理AJAX表單

如果特定表單應允許在頁面載入中多次提交,您可以使用類別排除它們:

$('form:not(.js-allow-double-submission)').preventDoubleSubmission();

透過合併此改進的解決方案,您可以有效防止雙重提交在您的Web 應用程式中提交表單,確保無縫的使用者體驗並避免潛在的資料不一致。

以上是如何使用 jQuery 防止雙重表單提交?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn