J'ai une expérience jQuery très limitée et je me demandais si vous pouviez m'aider avec une fonction qui doit vérifier, avec une requête AJAX, si une adresse e-mail existe ou non.Fonction jQuery pour vérifier si une adresse e-mail existe
Jusqu'à présent j'ai ce morceau de code pour le contrôle e-mail:
$('input#email').bind('blur', function() {
$.ajax({
url: 'ajax/email.php',
type: 'GET',
data: 'email=' + $('input#email').val(),
cache: false,
success: function (html) {
if (html == 1) alert('Email exists!');
}
});
});
Comment puis-je faire fonction de cela et l'utiliser comme ceci:
if (!email_exists($('input#email').val())) {
$('#error_email').text('Email exists').show();
return false;
}
Mon code PHP ressemble ceci:
$email = ($_GET['email']) ? $_GET['email'] : $_POST['email'];
$query = "SELECT `id` FROM `users` \n"."WHERE `users`.`email` = '".mysql_real_escape_string($email)."'";
$result = mysql_query($query);
if (mysql_num_rows($result) > 0) {
echo '1';
} else {
echo '0';
}
Merci.
Vous voulez que ce type d'appel soit asynchrone (le A dans AJAX). Cela signifie que vous ne souhaitez pas bloquer l'application en attente d'un appel à renvoyer. L'utilisation d'une fonction 'email_exists' et l'attente de retour n'est pas une * programmation pilotée par événement *. Créez une fonction appelée 'check_email_exists' et demandez à cette fonction d'exécuter' .show() 'ou de simplement faire en sorte que' blur' la gère. – webbiedave
@webbiedave: J'ai essayé avec le flou et placé la vérification en dehors du $ ('# form'). Submit (function (e) {}); et cela fonctionne bien, mais si vous soumettez le formulaire, l'erreur disparaît. – Psyche