2017-06-28 3 views
1

Ich habe ein Formular, das eine Ajax-Datenbanksuche durchführt, wenn der Benutzer seine E-Mail-Adresse eingibt, um sicherzustellen, dass sie nicht existiert und den Benutzer warnt, falls dies der Fall ist.Schaltfläche "Formular" deaktivieren, wenn Daten vorhanden sind

Ich möchte in der Lage sein, die Schaltfläche zu deaktivieren, wenn die E-Mail-Adresse existiert, aber nicht, wenn alles in Ordnung ist.

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(); 
} 
?> 

Antwort

1

ersetzen:

if(response=="OK") { 
    return true;  
} else { 
    return false; 
} 

mit:

if(response=="OK") { 
    $('#submit-button').prop('disabled', false) 
    return true;  
} else { 
    $('#submit-button').prop('disabled', true) 
    return false; 
} 

Sie können möglicherweise sogar die return true/false Zeilen entfernen, es sei denn, Sie haben eine andere Notwendigkeit für sie.

+0

Ich habe den Code oben verwendet, aber es deaktiviert die Schaltfläche, wenn es existiert oder nicht, wenn Sie eingeben. –

+0

Nun, Sie überprüfen bei jedem Tastendruck, so dass Sie keine echte Übereinstimmung erhalten, bis die gesamte Adresse eingegeben wurde. – j08691

+0

Ich möchte nur die Schaltfläche deaktiviert werden, wenn die E-Mail-Adresse nicht in der Datenbank ist. Also nur deaktivieren, wenn es mit einem Feld in der Datenbank übereinstimmt. Die Schaltfläche ist deaktiviert, sobald ich mit der Eingabe beginne, auch wenn sie nicht existiert. –

Verwandte Themen