簡體   English   中英

jQuery ajax提交時進行表單驗證,然后繼續提交表單

[英]jquery ajax form validation on submission then continue on to form submission

這就是我想要做的

捕獲我的表單提交並將其提交到我的Ajax處理中以進行表單驗證(顯然無需重新加載頁面)

然后,如果ajax服務器端未返回錯誤數組(下面的代碼中的數據),請繼續進行實際的表單提交。 代碼段底部的“ return false”應防止jQuery默認行為(即提交表單)

我嘗試過如果沒有任何錯誤就return true ,但這是行不通的。

有什么建議么?

這是到目前為止我得到的:

$('.submit').click(function(e) {
    $.ajax({
        type: "POST",
        url: "/processform_ajax",
        data: $(':input').serializeArray(),
        dataType: "json",
        success: function(data) {
            if (data != '') {
                $("#response span").html("");
                $('.highlightbox').removeClass('highlightbox');
            } else {
                $('#myform').submit();
            }
        },
        error: function(error, txt) {
            alert("Error: " + error.status);
        }
    });
    return false;
});

我用兩種不同的方式處理:

首先,使用出色的Jquery Inline驗證工具進行前端驗證。此步驟可以消除95%的問題,然后才能使PHP和Jquery變得棘手。

其次,我將表單中的值提交給腳本。 讓PHP(以我為例)在驗證時進行“思考”。 如果不正確,我會以json_encoded字符串的形式返回成功函數的信息。 我建立一個案例(例如,如果data.valid == true ),則顯示錯誤標志。 否則,執行成功步驟並在UI中通知用戶。

我認為您的情況關鍵是確保返回的數據經過json_encoded。 僅供參考,我注意到json_encode出現了一些非常隨機的問題,有時由於方括號而導致數據返回函數出現問題,這完全有效,但有時會引起無錯誤的錯誤。

祝好運。

暫無
暫無

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

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