我有一个表单,当用户键入他们的电子邮件地址以确保它不存在时执行ajax数据库查找,如果有,则会警告用户。
如果电子邮件地址确实存在,我希望能够禁用该按钮,但如果一切正常则不能。
form.html:
<script>
function checkemail()
{
var email=document.getElementById( "email" ).value;
if(email)
{
$.ajax({
type: 'post',
url: 'checkdata.php',
data: {
email:email,
},
success: function (response) {
$( '#email_status' ).html(response);
if(response=="OK")
{
return true;
}
else
{
return false;
}
}
});
}
else
{
$( '#email_status' ).html("");
return false;
}
}
</script>
<input type="email" id="email" name="email" onkeyup="checkemail();" required>
<span id="email_status"></span>
<input type="button" id="submit-button" value="Submit">
checkdata.php:
<?php
error_reporting(E_ALL);
include($_SERVER["DOCUMENT_ROOT"]."/dbconnect.php");
if(isset($_POST['email']))
{
$emailId=$_POST['email'];
$checkdata=" SELECT email FROM membership_main WHERE email='$emailId' ";
$query = mysqli_query($conn, $checkdata);
if(mysqli_num_rows($query)>0)
{
echo "Email address already exists.";
}
else
{
echo "OK";
}
exit();
}
?>
答案 0 :(得分:1)
替换:
if(response=="OK") {
return true;
} else {
return false;
}
使用:
if(response=="OK") {
$('#submit-button').prop('disabled', false)
return true;
} else {
$('#submit-button').prop('disabled', true)
return false;
}
除非您有其他需要,否则您甚至可以删除return true/false
行。