Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Живой вывод ошибок при неверно заполненных формах
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Здравствуйте. Скажите пожалуйста, каким образом можно реализовать живой вывод ошибок при неверно заполненных формах? Объясню конкретнее:
Есть у нас допустим некие формы для заполнения, предположим, что это скрипт регистрации пользователей. Если пользователь ввел логин, который уже существует, то нужно без перезагрузки страницы сообщить ему, что такой логин уже зарегистрирован. Как реализовать это на сервере и получить ответ без перезагрузки страницы я знаю, но тут один скользкий момент:
Я могу получить ответ от сервера только одним текстом, то есть получить obj.responseText и вывести его в какой нибудь DIV для ошибок. Но мне нужно сообщать об ошибке около каждого инпута. Например если логин уже существует, то рядом с инпутом, где вводится логин, вывести соответствующую ошибку. Как разбить на части результат ответа сервера и реализовать то, что я хочу? Чую мне нужен JSON, но увы не очень понимаю как его использовать...
Надеюсь я все доступно описал, просьба пнуть в нужном направлении, а ещё лучше какой нибудь пример привести ) Заранее спасибо
soffrick
Отправлено: 04 Августа, 2013 - 14:44:40
Посетитель
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012 Откуда: Россия, Москва
Помог: 17 раз(а)
teddy пишет:
мне нужен JSON, но увы не очень понимаю как его использовать...
----- Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
teddy
Отправлено: 04 Августа, 2013 - 15:00:28
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
soffrick
Здесь нет глупых вопросов. Для тех кто знает всегда кажется что всё просто. Это я по себе знаю. Раньше то что не понимал в упор сейчас для меня это просто а для некоторых это целая наука и так было фактически у всех, так что не надо мне тут.
Давай я сам буду решать куда мне лезть а куда нет ок?
Не нравлюсь - иди лесом. Не порть мне тему, не пиши сюда больше и вообще в те темы, где есть я. А если пишешь, не связывай свои сообщения каким либо образом со мной.
Вообщем есть вопросы - есть личка. Всё, удались отсюда. Уверен даже ты не знаешь грамотного решения моего вопроса. Ибо написал бы сразу и подробно(заметил за тобой такое, что если знаешь пишешь подробно, а если нет - тупо делаешь вид что знаешь но не помогаешь)
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012 Откуда: Россия, Москва
Помог: 17 раз(а)
teddy пишет:
Уверен даже ты не знаешь грамотного решения моего вопроса. Ибо написал бы сразу и подробно(заметил за тобой такое, что если знаешь пишешь подробно, а если нет - тупо делаешь вид что знаешь но не помогаешь)
знаю
teddy пишет:
Ибо написал бы сразу и подробно(заметил за тобой такое, что если знаешь пишешь подробно
подробно - жирно будет
teddy пишет:
тупо делаешь вид что знаешь но не помогаешь)
вообще-то я не ты, чтобы лезть туда где не разбираюсь вообще или очень плохо
----- Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
DelphinPRO
Отправлено: 04 Августа, 2013 - 16:05:46
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Проверка логина.
Отправлешь ajax запрос на сервер, в ответ получаешь единственное число в responseText - 1-логин занят, 2-логин свободен. Больше тебе просто не нужно. Запрос вешаешь на onchange или onblur.
Для проверки e-mail таже отправляешь запрос, и также получаешь статус в ответ.
Чтобы на сервер знать что именно проверяется в данный момент, отправляй доп параметр с именем поля.
Это будет реально "живая форма".
Что тебе еще там нужно проверять в live режиме? (Добавление)
Хотелось бы посоветовать пользователю soffrick быть более сдержанным
(Добавление)
Если все же хочется проверять на сервере форму целиком, то jQuery предоставляет кроссбраузерные методе $.parseJSON() и $.toJSON().
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
DelphinPRO
Спасибо, интересная идея Я попробую так сделать... А по поводу jQuery $.parseJSON(); я уже в процессе обучения ) Благодарю за доступный ответ!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.