Javascript 如果存在电子邮件,如何空白输入值
如果存在电子邮件,我希望输入值为空,否则不要为空。 我尝试了这个脚本,但无法在条件下为空。 我的剧本是Javascript 如果存在电子邮件,如何空白输入值,javascript,sql,Javascript,Sql,如果存在电子邮件,我希望输入值为空,否则不要为空。 我尝试了这个脚本,但无法在条件下为空。 我的剧本是 <script> function checkemailAvailability() { $("#loaderIcon").show(); jQuery.ajax({ url: "check_availability.php", data:'emailid='+$("#emailid").val(), type: "POST", success:function(data){ $(
<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>
函数checkemailAvailability(){
$(“#loaderIcon”).show();
jQuery.ajax({
url:“check_availability.php”,
数据:'emailid='+$(“#emailid”).val(),
类型:“POST”,
成功:功能(数据){
$(“#电子邮件可用状态”).html(数据);
$(“#emailid”).val(“”);
$(“#loaderIcon”).hide();
},
错误:函数(){}
});
}
我的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>";
}
?>
无论电子邮件地址是否可用,
AJAXsuccess
在这两种情况下都返回true
您需要测试AJAX answer的值,然后决定该值是否为空
检查_availability.php(第11-12行)
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();
}
}
成功:函数(数据){
如果(数据=='存在'){
$(“#电子邮件可用性状态”).html(“电子邮件已存在”);
$(“#emailid”).val(“”);
$(“#loaderIcon”).hide();
}否则{
$(“#电子邮件可用状态”).html(“电子邮件可用”);
$(“#loaderIcon”).hide();
}
}
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 ));
?>
如果将数据交换为json,效果会更好。
所以,如果需要,您可以在结果中传递多个参数您在控制台中看到任何错误吗?没有错误。我只想空白输入文本,如果条件是电子邮件存在,否则不删除。但是这段代码在这两种情况下都会删除电子邮件。@kishan:当然,因为无论电子邮件是否存在,AJAX请求的成功都是在这两种情况下进行的。
<?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 ));
?>
dataType : 'json',
success:function(data){
$("#email-availability-status").html(data.msg);
if( data.res == 2 )
$("#emailid").val("");
$("#loaderIcon").hide();
},