2016-05-13 2 views
3

Скажем, у меня есть онлайн-форма, и я хочу выяснить, вводит ли пользователь электронное письмо, которое уже используется системой. Могу я сказать системе проверить поле против базы данных, как только пользователь переместит курсор/выделение в поле? Может ли кто-нибудь указать мне в правильном направлении, если это действительно возможно?Определение повторяющихся значений перед отправкой формы

+0

Да. Вы можете использовать обработчик события onblur и ajax для отправки/получения данных без обновления страницы ... – sinisake

ответ

3

для этого Вам нужно позвонить Аякса, когда пользователь написание электронный идентификатор средства на размытие события, как показано ниже:

$('#yourfieldID').blur(function() { 
     var val = $(this).val(); 
     $.ajax({ 
       type: 'POST', 
       url: 'your url', 
       data: {email: val}, 
       success: function (data) { 
        // check for response 
        }); 
       } 
      }); 
    }); 

В настоящее время в файле, который вы вызывали в URL-адресе ajax, вам нужно проверить данные, которые существуют в базе данных или нет, и в соответствии с этим вам нужно отправить ответ и проверить его в части sucess для вызова ajax.

Надеюсь, вы его получите.

0

Вы можете проверить доступность электронной почты с помощью вызова Ajax в базе данных при изменении текста или размытии события текстового поля электронной почты. Затем сообщите об этом пользователю.

4

Вы можете прикрепить слушателя в текстовое поле с помощью blur события JQuery, как и так:

$('#MyEmailField').blur(function() { 
    // jQuery AJAX Call here, $.ajax(...) 
}) 
0

Как только пользователь перемещается из электронной почты поле, скажем, вкладка или мыши, необходимо вызвать функцию для вызова Ajax на ваш сервер. Функция запуска будет находиться в поле «Поля электронной почты». Затем проверьте, если пользовательский адрес электронной почты выходит, верните ответ Ajax, чтобы уведомить пользователя.

1

Да, можно с помощью вызова AJAX на "ONBLUR" случае Javascript (или "focusout" метод JQuery)

Вы могли бы использовать что-то вроде этого, в HTML:

<input type="email" name="myinput" /> 

И JS:

$("input").focusout(function() { 
    var usr_email = $(this).value; 
    $.ajax({ 
     method: "GET", 
     url: "some.php", 
     data: { email: usr_email } 
    }).done(function(response) { 
     if(response == "taken"){ 
     $("input").borderColor = "red"; 
     } 
    }); 
} 
Смежные вопросы