如果电子邮件存在,我想空白输入值,否则不要空白。 我试过这个脚本,但无法在条件下空白。 我的脚本是
<script>
function checkemailAvailability() {
$("#loaderIcon").show();
jQuery.ajax({
url: "check_availability.php",
data:'emailid='+$("#emailid").val(),
type: "POST",
success:function(data){
$("#email-availability-status").html(data);
$("#emailid").val("");
$("#loaderIcon").hide();
},
error:function (){}
});
}
</script>
我的check_availability.php是
<?php
include_once '../config/database.php';
//code check email
if(!empty($_POST["emailid"])) {
$database = new Database();
$db = $database->getConnection();
$query = $db->query("SELECT email FROM login WHERE email='" . $_POST["emailid"] . "'");
$query->execute();
$r = $query->fetch(PDO::FETCH_ASSOC);
if($r>0)echo "<span style='color:red'>Email already exit</span>";
else echo "<span style='color:green'>Email Available</span>";
}
?>
请解决此问题。提前谢谢。
答案 0 :(得分:1)
当电子邮件地址可用时,AJAX success
在两种情况下都返回true。
您需要测试AJAX答案的值,并且如果该值应为空白,则需要做出决定。
check_availability.php(第11-12行)
echo $r > 0 ? 'exists' : 'available';
JS
success:function(data){
if (data === 'exists') {
$("#email-availability-status").html('<span style="color:red">Email already exists</span>');
$("#emailid").val("");
$("#loaderIcon").hide();
} else {
$("#email-availability-status").html('<span style="color:green">Email Available</span>');
$("#loaderIcon").hide();
}
}
答案 1 :(得分:0)
PHP
<?php
include_once '../config/database.php';
$res = 1;
$msg = "<span style='color:green'>Email Available</span>";
if(!empty($_POST["emailid"]))
{
$database = new Database();
$db = $database->getConnection();
$query = $db->query("SELECT email FROM login WHERE email='" . $_POST["emailid"] . "'");
$query->execute();
$r = $query->fetch(PDO::FETCH_ASSOC);
if($r>0)
{
$res = 2;
$msg = "<span style='color:red'>Email already exit</span>";
}
}
echo json_encode(array( 'res'=>$res , 'msg'=>$msg ));
?>
JS
dataType : 'json',
success:function(data){
$("#email-availability-status").html(data.msg);
if( data.res == 2 )
$("#emailid").val("");
$("#loaderIcon").hide();
},
如果你以json的形式交换数据会更好。 因此,如果需要,您可以在结果中传递多个参数