使用Ajax在PHP中以“电子邮件已存在”条件提交表单

时间:2019-05-29 06:40:53

标签: php ajax

我正在使用ajax Php,我想使用ajax检查电子邮件的可用性(启用模糊功能) 我的代码工作正常,显示是否存在电子邮件,但我提交的表单甚至“电子邮件已经存在”的消息 ,我只希望如果我输入现有电子邮件地址就不提交该表格,这是我的代码,我错了吗?

<script type = "text/javascript" >
    $(document).ready(function() {
        /// make loader hidden in start
        $('#loading').hide();
        $('#email').blur(function() {
            var email_val = $("#email").val();

            var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
            if (filter.test(email_val)) {
                // show loader
                $('#loading').show();
                $.post("<?php echo site_url()?>/Register/email_check", {
                    email: email_val
                }, function(response) {
                    alert(response);
                    $('#loading').hide();
                    //$('#message').html('').html(response).show().delay(4000).fadeOut();
                    if (response.trim() == '1') {
                        $('#failuremsg').show().delay(4000).fadeOut();

                    } else {

                        $('#successmsg').show().delay(4000).fadeOut();
                    }
                });
                return false;
            }
        });

    }); 
</script>

1 个答案:

答案 0 :(得分:0)

将表单上的“提交”按钮替换为

<button id="submit-form">Submit</button>
所有检查都通过后,在主代码中

设置一个validated = true变量

添加一些jQuery

$( "#submit-form" ).click(function() {
  if(validated){
     $( "#yourForm" ).submit();
  }else{
   return false;
  }
};