【问题标题】:Email Validation is not working in jQuery电子邮件验证在 jQuery 中不起作用
【发布时间】:2016-08-23 23:50:43
【问题描述】:

伙计们,我想在 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!';

   }
  }
?>

【问题讨论】:

  • 检查浏览器的 JavaScript 控制台是否有错误并检查网络请求。

标签: php jquery validation


【解决方案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 -> network -> xhr 检查 ajax 上的 php 路径并检查状态(如果您使用 chrome)

  • 如果状态 == 200(表示正常)点击 validate.php 以检查 PHP 文件的响应

  • 如果你修复了你的错误,别忘了反馈,它可以帮助其他人与你有同样的错误

【讨论】:

  • 感谢您的建议,问题已解决。 status == 200, M 从 PHP 文件中得到响应。唯一的问题是我没有包含 # 和 $('msg').text(data);
  • @Hussam_Cheema 这是否意味着你的错误得到了修复?如果是,恭喜
猜你喜欢
  • 1970-01-01
  • 2020-03-30
  • 1970-01-01
  • 2013-11-11
  • 2017-05-27
  • 2012-08-19
  • 2019-01-01
  • 2015-01-20
  • 1970-01-01
相关资源
最近更新 更多