Php 如果存在数据,则禁用表单按钮
我有一个表单,当用户键入他们的电子邮件地址时,它会执行ajax数据库查找,以确保它不存在,如果存在,它会警告用户 我想能够禁用按钮,如果电子邮件地址确实存在,但不是如果一切正常 form.html:Php 如果存在数据,则禁用表单按钮,php,jquery,Php,Jquery,我有一个表单,当用户键入他们的电子邮件地址时,它会执行ajax数据库查找,以确保它不存在,如果存在,它会警告用户 我想能够禁用按钮,如果电子邮件地址确实存在,但不是如果一切正常 form.html: <script> function checkemail() { var email=document.getElementById( "email" ).value; if(email) { $.ajax({ type: 'post', url: 'checkdat
<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">
函数checkemail()
{
var email=document.getElementById(“email”).value;
如果(电子邮件)
{
$.ajax({
键入:“post”,
url:'checkdata.php',
数据:{
电邮:电邮,,
},
成功:功能(响应){
$('#email_status').html(回复);
如果(响应=“确定”)
{
返回true;
}
其他的
{
返回false;
}
}
});
}
其他的
{
$('#email_status').html(“”);
返回false;
}
}
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();
}
?>
替换:
if(response=="OK") {
return true;
} else {
return false;
}
与:
您甚至可以删除return true/false
行,除非您有其他需要。我使用了上面的代码,但在键入时它会禁用按钮(如果按钮存在或不存在)。您正在检查每个击键,因此在输入整个地址之前无法获得真正的匹配。我只希望按钮是当电子邮件地址不在数据库中时禁用。因此,仅当它与数据库中的字段匹配时才禁用。该按钮在我开始键入时即被禁用,即使它不存在。请尝试在prop('disabled',…)
statementsorry中交换true/false,这是我的错-我的错。你原来的帖子是正确的。谢谢你的帮助。
if(response=="OK") {
$('#submit-button').prop('disabled', false)
return true;
} else {
$('#submit-button').prop('disabled', true)
return false;
}