如果数据存在,则禁用表单按钮

时间:2017-06-28 16:07:42

标签: php jquery

我有一个表单,当用户键入他们的电子邮件地址以确保它不存在时执行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();
}
?>

1 个答案:

答案 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行。