2017-10-30 2 views
0

Ich versuche, den Absenden-Button zu verstecken, wenn die E-Mail die gleiche mit der in der Datenbank von action.php ist. Wie konnte ich dies in meinem folgenden Code implementieren:jQuery Ajax, wenn Variable auf Senden ist ok Verstecken Knopf

<form onsubmit="return submitdata();"> 
    <input type="text" id="mail"> 
    <input type="submit" value="Check"> 
</form> 

<p id="msg"></p> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

<script type="text/javascript"> 

function submitdata() 
{ 
    var name=document.getElementById('mail').value; 

$.ajax({ 
    type: 'post', 
    url: 'action.php', 
    dataType: 'text', 
    data: { 
     'name':name 
    }, 
    cache:false, 
    success: function (data) { 
     console.log(data); 
     $('#msg').html(data); 
    } 
}); 

return false; 
} 

</script> 

action.php:

<?php 
require_once 'config.php'; 
$email_ck=$_POST['name']; 
if(extract($crud->get_email($email_ck))){ 
    echo "Response: ".$email; 
    $hide = 1; 
}else{ 
    echo 'hmmmm'; 
} 
?> 

Wenn die E-Mail fällt zusammen ich die richtige Nachricht erhalten, aber wie kann ich $ verbergen zurückrufen, um zu bestimmen zu verstecken meine Schaltfläche senden?

+0

Ihre Antwort eher auf Ihre jQuery Erfolg Rückruf angeben, sollten Sie das Formular oder nicht zu verstecken. –

+0

Was wird im Erfolgsrückruf protokolliert? – Archer

+0

Und wie kann ich das tun. Mein Ajax Wissen ist begrenzt :( – user1286956

Antwort

2

Anstatt eine Nachricht zurückzugeben, geben Sie eine Meldung zurück. (Im JS-Skript schreiben Sie die Nachricht entsprechend)

Eine detaillierte JSON-Zeichenfolge wäre eine gute Idee, aber zur Vereinfachung siehe Folgendes.

PHP:

<?php 
require_once 'config.php'; 
$email_ck=$_POST['name']; 
if(extract($crud->get_email($email_ck))){ 
    echo "already_exists"; 
}else{ 
    echo 'not_exists'; 
} 
?> 

JS:

$.ajax({ 
    type: 'post', 
    url: 'action.php', 
    dataType: 'text', 
    data: { 
     'name':name 
    }, 
    cache:false, 
    success: function (data) { 
     if(data == 'already_exists'){ 
      $('#buttonId').hide(); 
     } else if(data == 'not_exists'){ 
      $('#msg').html('Response: ' +name); 
     } 
    } 
}); 
+0

Pefect. Das hat wie ein Charme funktioniert. Danke Fremder^_^ – user1286956

+1

Bitte akzeptieren Sie meine Antwort. Danke :) –