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