簡體   English   中英

如何防止表單在用戶可用性檢查過程中提交?

[英]How to prevent form to submit in user availability check process?

我有一個注冊表單,我在其中使用jquery檢查用戶的可用性,但是當用戶不可用時,不應提交表單。 在不可用的情況下如何防止提交。 我的代碼是

$(document).ready(function(){
    $('#email').change(function() {
        status=0;
        user=$('#email').val();
        $.ajax({
            type:"post",
            url:"verify-user.php",
            data:{'user':user},
            success:function(data){
                if(data=='1'){
                    $("#show_msg").html('<span style="color:#F00;">Not avilable</span>');
                }else if(data=='0'){  
                    $("#show_msg").html('<span style="color:#093;">Avilable</span>');
                }
            }
        });  
    });
});

請幫我。 您的幫助將不勝感激。 提前致謝。

防止表單提交的代碼與事件相關聯-在這種情況下:

$('#email').change

您需要將事件作為參數傳遞給事件處理程序函數,然后添加

event.preventDefault()

到您的電子郵件更改處理程序。 但是,由於您是通過Ajax調用驗證的,因此我認為,如果驗證成功,則必須手動提交表單。 以下經過編輯的代碼-未經測試,但希望可以引導您朝正確的方向前進。

$(document).ready(function() {

    $('#email').change(function(event) {

        status=0;

        user=$('#email').val();

        // prevent default action
        event.preventDefault();

        $.ajax({

            type:"post",

            url:"verify-user.php",

            data:{'user':user},

            success:function(data){

                if(data=='1'){

                    $("#show_msg").html('<span style="color:#F00;">Not avilable</span>');

                } else if (data=='0') {  

                    $("#show_msg").html('<span style="color:#093;">Avilable</span>');

                   //submit your form if validation succeeds
                    $("#your-form-id").submit();

            }

        }

    });  

});

});

您不能只使用if語句嗎?

var user=$('#email').val();
if (!user) {
   return;
}

$.ajax({

暫無
暫無

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

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