电子邮件验证在jQuery中不起作用

时间:2016-08-23 23:50:44

标签: php jquery validation

伙计们我想验证php文件中的电子邮件地址" validate.php"。但它不起作用。我没有收到来自" validate.php"的任何回复。文件。

jQuery代码:

function validate_email(email){

         $.post('validate.php', {email:email}, function(data){

               $('msg').text(data);

           });
}

$('#input').focusin(function(){ 
  if($('#input').val() === ''){
     $('#msg').text("Enter Valid Email Address");
  }
  else{
       validate_email($('#input').val());
  }       
  }).blur(function(){ 
            $('#msg').text("");
}).keyup(function(){
            validate_email($('#input').val());
      });

" validate.php"代码:

<?php
if(isset($_POST['email'])){

   $email = $_POST['email']; 

   if(!empty($email)){
   if(filter_var($email, FILTER_VALIDATE_EMAIL) === false)
          echo 'Email Address is not Valid, Enter a Valid Email Address.';
   else
          echo 'Email is valid. Mubarak Ho!';

   }
  }
?>

1 个答案:

答案 0 :(得分:1)

检查错误日志,因为您的代码在我的服务器上运行良好

这是我的代码测试

HTML部分

<input id="email" type="email" value="dinhphong.developer@gmail.com">
<button>Submit</button>

<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>

<script>

$(document).on('click', 'button', function() {
    var email = $('#email').val();
    console.log(email);
    $.post('validate.php', {email:email}, function(data){
       console.log(data);
    });
})

</script>

PHP部分

if(isset($_POST['email'])){

   $email = $_POST['email']; 

   if(!empty($email)){
   if(filter_var($email, FILTER_VALIDATE_EMAIL) === false)
          echo 'Email Address is not Valid, Enter a Valid Email Address.';
   else
          echo 'Email is valid. Mubarak Ho!';

   }
}

我的建议:

  • $('msg').text(data);应为$('#msg').text(data);

  • F12检查javascript错误日志

  • 通过f12检查ajax上的php路径 - &gt;网络 - &gt; xhr和检查状态(如果使用chrome)

  • 如果status == 200(表示确定),请单击validate.php以检查来自PHP文件的响应

  • 不要忘记反馈,如果你修复了你的错误,它可以帮助另一个人有同样的错误