У меня очень ограниченный опыт jQuery, и мне было интересно, можете ли вы помочь мне с функцией, которая должна проверять с помощью запроса AJAX, если существует адрес электронной почты.Функция jQuery для проверки наличия адреса электронной почты
До сих пор у меня этот кусок кода для проверки электронной почты:
$('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!');
}
});
});
Как я могу сделать функцию из этого и использовать его как это:
if (!email_exists($('input#email').val())) {
$('#error_email').text('Email exists').show();
return false;
}
Мой PHP код выглядит следующим образом это:
$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';
}
спасибо.
Вы хотите, чтобы этот вид вызова был асинхронным (A в AJAX). Это означает, что вы не хотите связывать приложение, ожидающее возврата вызова. Использование функции «email_exists» и ожидание ее возврата не является * управляемым событиями программированием *. Создайте функцию, называемую 'check_email_exists', и выполните эту функцию' .show() 'или просто обработайте' blur'. – webbiedave
@webbiedave: Я попытался с размытием и поместил проверку вне $ ('# form'). Submit (function (e) {}); и он отлично работает, но если вы отправите форму, ошибка исчезнет. – Psyche