![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Marlik |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Доброго времени суток. Есть форма регистрации, выводится с помощью шаблонов скриптом на Perl. Отправка данных осуществляется обычным GET запросом. Есть такая задача вставить туда пару полей, а именно поле для вывода страны проживания, и поле в которое потом нужно из базы подгрузить города. Я так понимаю нужно по событию OnChange(); передать параметр id страны в javascript, оттуда сделать запрос на сервер и получив ответ разместить его во втором поле города.
Вопрос, правильно-ли делаю? Есть ли готовые образцы реализации? В javascript не силен, буду признателен за любую помощь. Спасибо. |
||||
|
|||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 2 Всего: 5 |
ajax-запросы посмотри
И готовые образцы где-то должны быть -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
Marlik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Да я так в принципе и думал. В ajax и javascript не бум-бум... Кто-бы поделился реализацией... спасибо.
|
|||
|
||||
RBW |
|
||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 29.9.2013 Репутация: нет Всего: нет |
1. Подключаешь jQuery
2. HTML:
3. JS:
Вот тут http://jsfiddle.net/m9Ut5/ полу-живой пример ![]() Это сообщение отредактировал(а) RBW - 1.10.2013, 07:59 |
||||
|
|||||
Marlik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Вот спасибо! Я в принципе нашел какой-то левый скрипт, из него значения value не передаются, только имя селекта. Щас буду тестировать...
Это сообщение отредактировал(а) Marlik - 1.10.2013, 14:28 |
|||
|
||||
Marlik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Не, не работает. ))) В общих чертах, либо cgi-скрипт мой не отгружает, или jquery косячит. Как проверить? Вот до этой строки мой скрипт работает 100%.
|
|||
|
||||
Marlik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Может alert где воткнуть? Что-бы проверить? А jquery какую версию подключить???
|
|||
|
||||
Marlik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Фуууу... кажись вернулся JSON в jquery... не выводит правда но уже легче.... У меня кривая кодировка в базе и соответственно отдаются вопросики вместо данных... может поэтому парсер ругается?
|
|||
|
||||
Marlik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Кажется нашел в чем косяк. JSON возвращает id области и имя области.
Вот так я получил объект:
Теперь бы выдернуть из него данные и вывести их. Люди, кто соображает выручайте! ))) Это сообщение отредактировал(а) Marlik - 3.10.2013, 10:32 |
|||
|
||||
Marlik |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Хрень какая-то! Вот так пробую получаю вывод во второй селект:
А вот так:
Ничего не получаю во втором селекте. Народ, подскажите куда копать-то? Как будто все вымерли.... ))) |
||||||
|
|||||||
kin |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 9.5.2008 Репутация: 2 Всего: 6 |
Привет!
Без обид, но такое ощущение, что Вы пытаетесь копать грядки для посадки огурцов карьерным экскаватором... Может просто ограничиться обычным xmlhttprequest?. Если правильно понял задачу, то в событии onchange Вы формируете запрос, отправляете серверу, который возвращает ответ, который разбираете и заполняете поле "город". Нужно ли ради 30 - 50 строк кода цеплять библиотеку весом более 200К? Добавлено @ 13:47
У объекта Select есть свойсто - коллекция options. Эта коллекция имеет метод Add, используйте его, например вот так:
Это сообщение отредактировал(а) kin - 3.10.2013, 14:00 |
||||
|
|||||
Marlik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
За ссылочку спасибо. Криз какой-то по ключевым словам - "как распарсить json" А что, разве нужно писать 50 строк кода чтобы распарсить json? Мне осталось-то до победного конца чуть-чуть.... )))) В вашем куске кода, я нифига не понял... ))) Мы и друг друга не поняли наверное... ))) У гугля наверное истерика уже, когда я набираю... Мне бы пример нормальный, что-бы понятно откеда плясать.... Но все-равно спасибо.
|
|||
|
||||
kin |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 9.5.2008 Репутация: 2 Всего: 6 |
К сожалению, я не знаю в какой форме у Вас приходит ответ от сервера..., в любом случае - это строка, а далее - куча вариантов, например: получить массив с названием городов при помощи JSON.parse, или функции split("разделитель") объекта String , или резать строку, каким-либо другим способом... После того, как получили список городов, для каждого города, создаем объект OPTION,
устанавливаются его свойства:
и добавляем его в коллекцию
и соответственно, это все крутится в цикле. Как пример:
Это сообщение отредактировал(а) kin - 3.10.2013, 16:02 |
||||||||
|
|||||||||
Marlik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 25.2.2007 Где: Рязань Репутация: нет Всего: нет |
Данные приходят в json формате. Вижу в отладчике. Образец:
Вопросики, я так понимаю кривая кодировка, и наверное не влияет на вывод(я так думаю). А вот во втором селекте, на странице вылазиет такая хрень: [object:Object] И что это такое я не врублюсь. Тем более первый раз в жизни мне пришлось столкнутся с javascript-ами... Куда рыть я еще не понял что читать тоже.... |
|||
|
||||
kin |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 9.5.2008 Репутация: 2 Всего: 6 |
замените на
После этого в отладчике посмотрите содержимое объекта response Скорее всего это будет асоциативный массив вида [ключ:значение]. В данном примере 34 это ключ, а ????? - значение, а все вместе это объект, браузер это и показывает. |
||||||
|
|||||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |