Проверка наличия логина в БД при регистрации, с помощью ajax
Здравствуйте, уважаемые
Второй день думаю, всю голову сломал над алгоритмом реализации одной задачи. И ведь наверняка не нужно изобретать велосипед, и кто-нибудь знает как правильно и толково можно её реализовать, посмотрите, пожалуйста. Есть форма регистрации. Человек вводит логин, и до того, как пустить его на скрипт регистрации (передать туда данные с формы) я хочу интерактивно проверить, есть такой логин в базе или нет. Что я делал, Вешал обработчик на форму onSubmit="return entersubmit();" В функции обработчика мне с помощью ajax нужно проверить, есть ли такой логин или нет. И далее условие, если логин есть – то выдать сообщение, и не пустить дальше выполнение формы, т.е. вернуть return false, если логина нет, то пустить скрипт дальше выполняться. Всё звучит хорошо, но я не успеваю это делать, если я в конце этой функции пишу return false, то даже если с помощью аякса я проверю и верну return true, переход к серверному скрипту с формы не происходит. Вот подобие функции, которая вызывается при событии onSubmit enterofff=0; // Глобальная переменная (знаю что ужасно, но ничего не могу придумать лучше) function entersubmit() { loginformz=$('#loginenterform').val(); formenterdata='loginenterform='+loginformz; $.post("checkenter.php", formenterdata,formenter); if (enterofff==1) { return true; } return false; } Вот функция которая вызывается после отработки AJAX –пост запроса к серверу function formenter(data,status) { if (data=='ok') { enterofff=1; } } В таком случае, один раз кликаем по кнопке формы – форма не передаётся дальше серверному скрипту, но меняется значение глобальной переменной enterofff =1 При повторном клике уже происходит переход. Но это абсолютно кривое решение, и оно меня не устраивает. Пытался повесить проверку логина при смене фокуса, но тоже наверное криво это всё. Подскажите, пожалуйста, как лучше с помощью аякса проверить есть ли логин в БД, если есть, то не пускать переход с формы на серверный скрипт, если нет логина – то пустить. Всем спасибо за то что уделили 5 минут на мой пост. |
Вопрос, собственно, как лучше реализовать проверку логина с помощью AJAX в форме регистрации.
Если логин уже есть - то сообщить человеку, если нет логина - то пустить дальше на этап регистрации. Т.е. интересует эта проверка без перезагрузок страниц. |
отправляешь ajax-запрос и отменяешь отправку формы, при получении ответа отправляешь форму программно (если нужно)
|
Цитата:
|
|
Часовой пояс GMT +3, время: 15:12. |