![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| smoke888 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.6.2008 Репутация: нет Всего: нет |
Здравствуйте уважаемые участники форума!
Пишу здесь, поскольку не получается самостоятельно справиться вроде бы с простой задачей. сначала несколько слов о задаче: Работаю я на предприятии, которое имеет несколько подразделений по области. Каждое подразделение отвечает за некоторые объекты в определенных районах этой области. Естественно районы имеют множество населенных пунктов. Руководство поставило задачу собрать по локальной сети кое-какие данные с подразделений. Решили использовать для этого web технологии. В частности php+mysql+javascript. В принципе задача простая и была реализована. Однако имеются шероховатости, причем существенные, которые хотелось бы устранить. Для ввода данных подразделениями я сделал, естественно, web форму. В нее входят несколько полей, меня интересует сейчас только 3: Наименование подразделения: --список подразделений-- Район: --список районов-- Населенный пункт: -- список населенных пунктов-- Из справочной таблицы mysql я, при открытии формы, формирую начальные данные этих select'ов. Т.е. в список районов запихиваю все районы, которые существуют в области. В список НП запихиваю все населеные пункты всех районов. Таким образом, если человек легко выберет свое подразделение и район (их не так и много), то вот искать определенный населенный пункт он уже "запариться". Поэтому я решил попробовать облегчить задачу людям. Из серфа по инету выискал, что есть такая чудесная технология AJAX, которая может мне помочь. Нашел библиотеку JShttpRequest и с ее помощью сваял кое-чего. Получилось при выборе подразделения подгружать во второй селект только нужные районы. Но что-то я не пойму, почему когда просматриваешь код html страницы содержимое select районов прежнее. Хотя на экране select содержит только нужные мне сведения. select я обновляю с помощью выделения его блоками <div id=район></div>. в JS написал следующее: <script src="JsHttpRequest.js"></script> <script type="text/javascript" language="JavaScript"> function autopodbor(name) { // Create new JsHttpRequest object. var req = new JsHttpRequest(); // Code automatically called on load finishing. req.onreadystatechange = function() { if (req.readyState == 4) { // Write result to page element (_RESULT become responseJS). document.getElementById('район').innerHTML = req.responseJS.row; } } // Prepare request object (automatically choose GET or POST). req.open(null, 'auto_select_backend.php', true); // Send data to backend. req.send({data: document.getElementById(name).value, element: name}); } </script> в команде req.send я отпраляю в 'auto_select_backend.php' данные выборе пользователя, а именно: document.getElementById(name).value - выбранное подразделение, element: name - собственно имя того selecta в котором пользователь и выбрал. После того как юзер делает change select'а код срабатывает и на месте поля <div id=район></div> появляется нужный мне select. Кстати из backend'а прилетает строка типа: "<select ....><option>....</option><option>....</option>.............</select>". Эту строку я вставляю в DIV и на экране обновленный select (с новыми данными). Только вот не пойму одного, как с ним дальше работать?? Мне ведь нужно с него считать value. А Где имя ему давать? Фактически в коде html страницы он не показан никак после обновления...... |
|||
|
||||
| VSergeyV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 9.5.2006 Где: Новосибирск Репутация: нет Всего: 3 |
а при чем тут формум по Java от Sun Microsystems, Inc.
|
|||
|
||||
| smoke888 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.6.2008 Репутация: нет Всего: нет |
Ого.. неожиданный вопрос на вопрос.. |
|||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: нет Всего: 27 |
Вопрос вполне правомерный Java и JavaScript имеют мало общего.
-------------------- ![]() |
|||
|
||||
| Ghirik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 5 Всего: 20 |
Поставьте на время отладки на страницу кнопочку.
-------------------- Отдадим всё клиенту, пускай его машина мучается... |
||||
|
|||||
| smoke888 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.6.2008 Репутация: нет Всего: нет |
Хм.. согласен.. alert выдал именно данные нового селекта с новыми его параметрами типа value и name. Т.е. фактически он поменялся. Только почему это никак не отображается в коде html страницы? Сказывается привычка работать с php. |
||||||
|
|||||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 5 Всего: 20 |
В Mozilla даже меню называется не "просмотр HTML", а "Исходный код страницы". -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| smoke888 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.6.2008 Репутация: нет Всего: нет |
Спасибо за ответы. Пока иду ровно. Если какие вопросы появяться, обращусь к вам за помощью.
Тему пока не закрывайте... Это сообщение отредактировал(а) smoke888 - 7.6.2008, 17:06 |
|||
|
||||
| smoke888 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.6.2008 Репутация: нет Всего: нет |
Все задача решена. Тему можно закрывать.
Ну и конечно памятник разработчикам AJAX!!! Великая штука!! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |