![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: нет Всего: 5 |
Добрый день! Использую JQuery, вот такой примерно код:
Задумка была изначально такая: Пользователь заполняет форму авторизации, данные которой отсылаются в файл: "auth.php" если логин/пароль верны - этот файл выдает что-то типа "Вы авторизированны", если данные не верны - выдает форму обратно в <div>. Проблема заключается в том, что всё это не хочет работать. После второй-третьей попытки заполнить форму неверно - на странцу выходит одна форма, без остального контента. Вопрос: подскажите пожалуйста, как обработать данные полученные от скрипта, и в зависимости от полученных результатов - либо уведомить пользователя о том, что данные введены не верно, либо загрузить другую страничку в слой "up". Спасибо! -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
| WolfAlone |
|
||||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: нет Всего: 5 |
Я решил сумничать, и вместо подгрузки
написал начало и конец формы до слоя, в котором находятся эти самые поля. Получилось приятного мало. Из моих соображений JQuery обрабатывает только уже готовую форму, т.е. форму загруженную в страницу изначально. После подгрузки "новой" формы - он её не хочет обрабатывать, т.е. результаты "POST" - пустые! Скажу понятнее. Раньше, в случае не правильной пары логин/пароль - загружался весь код формы авторизации целиком, т.е. <form>...</form>. Загружалось это добро в слой с именем "up". Сейчас я написал форму до и после слоя, т.е. решил загрузить в форму так сказать только новые поля. Т.е. получилось примерно так:
При таком раскладе - вновь загруженные поля формы не обрабатываются jQuery. Подскажите пожалуйста, как решить вопрос авторизации пользователей с помощью JQuery (без перезагрузки страницы целиком). Ещё раз заранее спасибо! Это сообщение отредактировал(а) WolfAlone - 30.6.2009, 16:36 -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
||||
|
|||||
| WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: нет Всего: 5 |
До меня дубового дошло... Ненужно перезагружать никакую форму. Нужно проверять, правильный логин/пароль или нет. Если да - грузим новую страницу. Если нет - отображаем скрытый слой (например), что логин/пароль неверный.
Собственно на основании этого возник вопрос. Отправлять данные сценарию через jQuery - я научился. Подскажите, как обработать полученный ответ (от скрипа)? А то отправиться то он отправился, а что дальше - не знаю! P.S. Скрипт принимает данные после отправки корректно. На отправку нареканий нет. -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 4 Всего: 22 |
А у этого ajaxForm callback есть? Если есть, то туда как раз и помещается возвращаемый результат. Если нет - отказывайся от этого плагина и отправляй сам - не велика проблема - функцией ajax, у которой есть callback с параметром data, в котором и хранится ответ сервера, равно как и параметр error - функция-обработчик полученной ошибки.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
WolfAlone, ajaxForm можно использовать для загрузки файла на сервер без перезагрузки окна, возможно еще для кроссайтового поста форм. Все остальное умеет сам jQuery и без него.
Для автоматической установки обработчиков на подгруженные ajax'ом конструкции служит конструкция live. Хотя, она, вроде не поддерживает submit... Выглядеть код может примерно так
Это сообщение отредактировал(а) ksnk - 30.6.2009, 22:48 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: нет Всего: 5 |
С заполнением и отправкой формы у меня всё гуд! Вопрос заключается в следующем:
Например, после получения данных скрипт возвращает строку "true" в случае, если логин с парольем подошли. В противном случае возвращает flase (строку). Вопрос заключается в том, как обработать полученную от скрипта строку? -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 4 Всего: 22 |
ksnk, ну-ну-ну, зачем же так человека обманывать? Функция внутри submit выполнится ДО отправки формы и у нее нет параметра.
Чтобы отправить значения, получить и обработать результат, удобнее всего воспользоваться функцией ajax:
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
IDVsbruck, Угу... чего-то потормозил :-(
Добавлено через 3 минуты и 15 секунд IDVsbruck, А зачем в примере datatype:json? Это сообщение отредактировал(а) ksnk - 1.7.2009, 07:48 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: нет Всего: 5 |
Увадаемый ksnk! Выражаю Вам огромную благодарность! Не хватало всего-то 3х строк кода. Теперь, благодаря Вам - вопрос решён!
Это сообщение отредактировал(а) WolfAlone - 1.7.2009, 09:02 -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 4 Всего: 22 |
Как для примера, возможно, и лишняя - из реального кода выколупывал. А в жизни постоянно использую, когда ответ json - не надо ни парсить, ни со строками возиться, сразу можно обращаться к полям объекта. Только вот на сервере надо правильный респонс-тайп назначить |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |