|
|
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
Собственно, по стартвопросу. При выборе страны (онченж первого селекта) - аппендЧилд скрипта с параметром ...чего_то_там?callbeck=...&strana="выбранная_страна". Коллбек функция - чистит второй селект и вставляет в него (аппендЧилд) данные из парамета коллбека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 21:30 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
Всем кто следит за темой и за мной - спасибо! благодаря вашим стараниям и моим мучениям все же что то получилось "родить". Скажу чесно, тут плагиата на 50% только :-) Хочу услышать конструктивную критику, замечания, пожелания, наставления. И вопрос, у меня не получается загнать текст ни в <div id="sity1"> ни в <select id="sity2"> Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 23:00 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
Ха-ха - здорово! Только не 50, а 85 процентов. Когда дорастёшь до 95-98% - будешь джедаем. Если хочешь, я в выходные тебе свой примерчик напишу для твоих данных - тебе понравится. Я так понял - на перле пишешь (ну это теперь всё-равно - понятно, как данные получаешь). Если дашь полную ссылку на свой list.pl - дам тебе хтмл-файл, который даже лёжа на рабочем столе будет точно также работать, как и загруженный с сервера (реквест так не умеет!). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 23:41 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
не трудно догадаться что скрипт выдает те6кстовку <option value=$1>$2</option> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 23:59 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
И еще немного изменений. Неужели тяжело сказать верно или нет? что подправить, а что оставить... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 01:05 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
Ну, создание XMLHttpRequesr надо вынести в отдельную функцию, создавать при загрузке страницы и не создавать при каждом запросе, а пользоваться экземпляром объекта. Вариант Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Практика с innerHTML крайне нежелательна (и непрофессилнальна). Создавай на сервере строку-объект JSON, передавай ее, с помощью eval создавай объект и DOM'ом вставляй в селект. Это наиболее быстрый, удачный, кроссбраузерный и профессиональный подход. Вариант с прерыванием запроса через setTimeout выглядит просто дилетантским. Во-первых, с сервера можно получить столько объектов, что за 5 секунд их не распарсить и не вставить. А во-вторых, если браузер в течении 5 секунд получил данные и начал их парсить и вставлять, то к функции setTimeout он подойдет только тогда, когда интерпретатор выйдет их процесса парсинга, а не точно через 5 секунд. Так что данное решение плохое. Думаю, проколы с данными надо координировать с сервера, устанавливая какие-то блоки и проверки. Вот что мне действительно понравилось в твоем коде - это расположение стран. Кул! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 01:25 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
IDVsbruckНу, создание XMLHttpRequesr надо вынести в отдельную функцию, создавать при загрузке страницы и не создавать при каждом запросе, а пользоваться экземпляром объекта. Начал искать что это за чудо и вот чего нашел: "Когда-то обращение к функции httpRequest() я делал сразу при загрузке страницы через <body onload="httpRequest()"> и больше не создавал XMLHttpRequest объект. Но как оказалось, это работает для всех браузеров кроме IE, который каждый раз требует создавать новый объект. Поэтому вызов данной функции делается каждый раз перед отправкой данных." (c). Источник http://www.ixbt.com/soft/ajax.shtml IDVsbruckВариант работать не будет, так как запрос асинхронный и для получения отклика нужен обработчик события onreadystatechange: Спасибо понял. IDVsbruckВот что мне действительно понравилось в твоем коде - это расположение стран. Кул! Как раз это и был плагиат :-)) Остальное еще перевариваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 13:40 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
Если получать данные через JSONP никакого реквеста не надо - статью-то (давал тынц) можно было и прочитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 13:51 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
ShSerge, на сколько я вижу, уважаемые IDVsbruck и illion почему то не используют этот замечательный метод JSONP. С чем связано столь малая распространненость и не любовь в узких кругах сего метода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 14:39 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
yarnikShSerge, на сколько я вижу, уважаемые IDVsbruck и illion почему то не используют этот замечательный метод JSONP. С чем связано столь малая распространненость и не любовь в узких кругах сего метода? IDVsbruck и illion - это еще не пуп Земли, и Вы вольны использовать то, что считаете более подходящим своей цели :-). Я не использую JSONP, поскольку функции, основанные на XMLHttpRequest, полностью удовлетворяют моим задачам. Да и потом, я работаю только с методом POST, дабы избежать ограничений GET (мне порой приходится передавать на сервер достаточно сложные данные больших объемов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 15:52 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
То же самое ... Просто не заморачивался с другими способами, но способ JSON with Padding также имеет полное право на жизнь. В моих приложениях надежный источник данных, который я формирую на сервере, а также огромное количество запросов и ответов на/с сервера, поэтому добавлять еще и дополнительные обработчики - это уже занадто ... хотя, возможно, в следующий раз буду реализовывать уже именно такую конструкцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 20:58 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
Я вот, что имел ввиду (JSONP здесь ни при чём). 1.perl (пардон, лет 5 не писал забыл синтаксис): Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 11:29 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
ПС. Текст явно попроще будет, чем с реквестом или с JSONом. Получать таким образом данные в данном конкретном случае - вполне допустимо. А вот базу апдейтить не следует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 11:33 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
ShSerge, Как все работает я уже понял, хотя думал что этот метод работает только с форматом JSON Но в любом случае, как мен кажется, этот метод не позволяет выводить на экран статус запроса. Допустим в начале запроса и возможно юзеру вывести сообщение "Идет загрузка" и если успешно все прошло убрать ее, но как быть с сообщеними о ошибках? p.s. Вы не задумывались о написании мануала в Викпедии? :-) p.p.s. Кстати, где можно почитать как парсить JSON? Что б быть точнее, как втиснуть результат между тегами <option value=$1>$2</option> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 15:25 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
yarnik p.p.s. Кстати, где можно почитать как парсить JSON? Что б быть точнее, как втиснуть результат между тегами <option value=$1>$2</option> Зачем его парсить? - это уже есть ассоциативный массив в жс. - точечная нотация ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 15:36 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
ShSerge yarnik p.p.s. Кстати, где можно почитать как парсить JSON? Что б быть точнее, как втиснуть результат между тегами <option value=$1>$2</option> Зачем его парсить? - это уже есть ассоциативный массив в жс. - точечная нотация ... К примеру я передаю с сервера: { "1": "Москва", "2": "Питер", "3": "Киев" } или { "sity": [ "1", "Москва", "2", "Питер", "3", "Киев" ] } Вот как мне с этого сделать строчку "<select name=sity><option value=1>Москва</option><option value=2>Питер</option><option value=3>Киев</option></select>"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 15:47 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
yarnik К примеру я передаю с сервера: { "1": "Москва", "2": "Питер", "3": "Киев" } Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 17:06 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
LINUXER resp[a] respObj[a] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 17:07 |
|
||
|
поля SELECT и AJAX
|
|||
|---|---|---|---|
|
#18+
Немножко воображения ... Передаешь: {"cities":[{"value":"1","name":"Kiev"},{"value":"2","name":"Warshawa"},{"value":"3","name":"Vienna"}]} При обработке переводишь в объект: Код: plaintext 1. 2. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 17:19 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35365171&tid=1456371]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 526ms |

| 0 / 0 |
