繁体   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