如何在用户可用性检查过程中阻止表单提交?

时间:2014-02-25 05:52:55

标签: jquery ajax

我有一个注册表单,我使用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>');
                }
            }
        });  
    });
});

请帮帮我。非常感谢您的帮助。提前致谢。

2 个答案:

答案 0 :(得分:1)

阻止表单提交的代码与事件有关 - 在这种情况下:

$('#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();

            }

        }

    });  

});

});

答案 1 :(得分:0)

你能不能只使用if声明?

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

$.ajax({