2017-06-28 18 views
1

私は、ユーザーが電子メールアドレスを入力して存在しないことを確認した場合に警告します。データが存在する場合はフォームボタンを無効にする

電子メールアドレスが存在する場合はボタンを無効にできますが、すべてOKなら無効にしたいと考えています。

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

置き換えます

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行も削除することができます。

+0

私は上記のコードを使用しましたが、入力時にボタンが存在しない場合は無効にします。 –

+0

すべてのキーストロークをチェックしているので、アドレス全体が入力されるまで真のマッチを得られません。 – j08691

+0

電子メールアドレスがdbにない場合にのみ、ボタンを無効にします。したがって、db内のフィールドと一致するときにのみ無効にします。ボタンが存在しない場合でも入力を開始するとすぐに無効になります。 –

関連する問題