Javascript 使用语法电子邮件检查器实现实时电子邮件检查器

Javascript 使用语法电子邮件检查器实现实时电子邮件检查器,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我遵循了一个示例,能够实现对电子邮件和用户名的简单验证。我发现了另一个使用ajax调用实时电子邮件检查器php脚本的演示/示例 我没有弄明白的是如何实现将live用户名检查器与标准验证器相结合,这样它就可以检查电子邮件的格式是否有效,并且是否可以使用,而不是已经注册的成员。搞乱了javascript,我让验证器看到了我的php脚本,使用AJAX帖子检查_email.php 但是,我没有正确的语法使验证器利用php脚本的结果返回类似“重复或电子邮件正在使用”的消息。电子邮件的html格式: <

我遵循了一个示例,能够实现对电子邮件和用户名的简单验证。我发现了另一个使用ajax调用实时电子邮件检查器php脚本的演示/示例

我没有弄明白的是如何实现将live用户名检查器与标准验证器相结合,这样它就可以检查电子邮件的格式是否有效,并且是否可以使用,而不是已经注册的成员。搞乱了javascript,我让验证器看到了我的php脚本,使用AJAX帖子检查_email.php

但是,我没有正确的语法使验证器利用php脚本的结果返回类似“重复或电子邮件正在使用”的消息。电子邮件的html格式:

<!-- EMAIL -->
<div class="form-group">
  <div class="row">
    <label class="col-xs-6 control-label">Email address</label>
    <div class="col-xs-6"  style='clear:left;width: 50%;'>
      <input type="text" class="form-control email" name="email" />
    </div>
  </div>
</div>
javascript的相关部分:

<script>
  $(document).ready(function() {
    $('#taskForm').formValidation({
      framework: 'bootstrap',
      icon: {
        // required: 'fa fa-asterisk',
        valid: 'glyphicon glyphicon-ok',
        invalid: 'glyphicon glyphicon-remove',
        validating: 'glyphicon glyphicon-refresh'
      },
      fields: {

        'email': {
           validators: {
            notEmpty: {
              message: 'The email address is required'
            },
            emailAddress: {
              message: 'The input is not a valid email address'
            }
            ,
            remote: {
              type: 'POST',
              url: 'check_email.php',
              message: 'Duplicate or whatever ...',
              cache: false,
              success: function(result){
                var result=remove_whitespaces(result);
                if(result=='')
               {
                  // Do something ...
                }
              }
            }
          }
        },
      }
    })
  });
</script>
要查看演示表单,请访问。为了说明live checker的工作原理,请使用用户名'sowhat'和电子邮件地址'sowhat@dottedi.biz"来检验。我让用户名与用户名检查器单独工作只是为了证明它是有效的,而不是所需的方法。电子邮件当前已被我的代码破坏

如有必要,我可以修改check_email.php。当前返回$HTML='email exists';如果是重复的

问题:如何更改远程函数的结构和语法,使其能够利用check_email.php的响应

哦,下面是check_email.php中的php代码:

<?php
include ("mysql_connection.php");

$HTML = "";
if(isset($_POST['email']) && !empty($_POST['email']))
{
  $email=strtolower(mysql_real_escape_string($_POST['email']));
  $query="select * from members where LOWER(email)='$email'";
  $res=mysql_query($query);
  $count=mysql_num_rows($res);

  if($count > 0){ $HTML='email exists'; }else{ $HTML=''; }
}

echo $HTML;

?>

我不断地挖掘,在以下位置找到了答案:

1将相关javascript更改为:

remote: {
    message: 'This email address is taken',
    url: 'check_email.php',
    type: 'POST'
}
2更改check_email.php以返回JSON格式响应:

if ( $count > 0 ) { $status = false; } else { $status = true; }

if(isset($status))
{
  $data = array(
    "valid"     => $status,
    "email"     => $email // OPTIONAL
  );
 echo json_encode($data);
}