|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.12.2010, 16:34 | #1 |
Пользователь
Регистрация: 07.06.2010
Сообщений: 75
|
Создание формы-списка с элементами из БД
Доброго времени суток! Не знаю на сколько понятно оформил заголовок, ну уж как есть, если что, прошу прощения.
Задача у меня возникла следующая. Создается простая форма, состоящая из нескольких выпадающих списков, выбирая пункты в которых, пользователь формирует запрос к базе данных. Мне нужно, чтобы вначале был активен только первый список, а после того, как в нем будет сделан выбор, становилось возможным развернуть второй, причем информация в него должна браться из базы данных, для атрибута который выбран в первом списке. Что было понятно, первый список - это список марок автомобилей, а второй - это список моделей, так вот выбрав марку, во втором списке должны появиться все модели для этой марки. Информация марка-модель, храниться в БД на сервере. Как обратиться к базе с запросом и получить необходимый список моделей на PHP, я знаю, но только в случае если пользователь например выбирает марку и нажимает кнопку отправить. А вот как организовать, чтобы работало так, как я описал выше, не очень представляю! Буду рад любой помощи!!! |
23.12.2010, 16:58 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
|
23.12.2010, 17:37 | #3 | |
Пользователь
Регистрация: 07.06.2010
Сообщений: 75
|
Цитата:
Если у кого есть еще какие-то идеи, пишите! |
|
23.12.2010, 18:44 | #4 |
Форумчанин
Регистрация: 01.10.2008
Сообщений: 266
|
jQuery отлично облегчит вам работу, правда по сути это и есть ajax с js.. В общем разберетесь, там не так сложно, как покажется сначала
|
23.12.2010, 23:04 | #5 |
Пользователь
Регистрация: 07.06.2010
Сообщений: 75
|
Воспользовавшись советом, я сделал пробную форму из двух списков. В первом выбираешь марку авто, а второй автоматически предоставляет список моделей для этой марки. И все вроде работает, выбираю марку, щелкаю по второму списку, он разворачивается нормально, т.е. модели из базы данных выбраны правильно, только я в нем ничего не могу выбрать. Подскажите в чем ошибка? Код html файла и php скрипта прилагаю.
Код HTML:
<html> <head> <title>Поиск в каталоге запчастей!</title> <script type="text/javascript" src="jquery.js"></script> </head> <body> <h1>Поиск запчасти в каталоге.</h1> <form action="results.php" method="post"> <select id="marque" name="marque"> <option value="choisi">-- Choisissez une marque -- <option value="peugeot">-- Peugeot -- <option value="renault">-- Renault -- <option value="citroen">-- Citroen -- </select> <br> <select id="modele" name="modele"> <option value="choisi">-- Choisissez un modele -- </select> <script> $(document).ready(function(){ $("#marque").change(function(){ $.ajax({ type: "POST", url: "modele.php", data: "marque="+$("#marque").val(), success: function(html){ $("#modele").html(html); } }); return false; }); }); </script> </form> </body> </html> PHP код:
|
23.12.2010, 23:49 | #6 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
А нельзя было в success посмотреть что возвращает php скрипт например alert(html)?
Подсказываю ... в <select> он пытается вставить следующую структуру <html> <body> <option> </option> </body> </html> + ко всему прочему неправильно сделано data: "marque="+$("#marque").val(), замените на data: $("#marque").val(), И на будущее я бы посоветовал сразу разобраться с кодировками в аяксе ... а то потом обязательно появится ну ооочень много вопросов) Последний раз редактировалось Cronos20; 23.12.2010 в 23:53. |
23.12.2010, 23:59 | #7 | |
Пользователь
Регистрация: 07.06.2010
Сообщений: 75
|
Цитата:
|
|
24.12.2010, 00:15 | #8 |
Пользователь
Регистрация: 07.06.2010
Сообщений: 75
|
По этому поводу хочу сказать, что если исправить, так как вы говорите, перестает работать, ругается скрипт, что в 3 строке, он не знает кто-такой marque. Поясните, если можете. Мой вариант, мне самому не нравится, но он работает.
|
24.12.2010, 02:02 | #9 | |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
вот описание
Цитата:
У вас указан явно метод передачи POST, а ваша строка расчитана на GET, а обрабатываете вы универсальным массивом REQUEST - поэтому все работает. Более корректно (и красиво) передавать объект, там я кстати немного не то написал data: {marque: $("#marque").val(),} Как-то так. При больших объемах данных этот способ лучше, универсальнее и большесоответсnвует стилю самого jquery. |
|
24.12.2010, 02:58 | #10 |
Пользователь
Регистрация: 07.06.2010
Сообщений: 75
|
Спасибо, понял!
Еще такой вопрос, если мне нужно добавить третий список, данные в котором должны формироваться из ходя из того, что выбрано во втором списке(генерируемом скриптом), я пишу новый php скрипт, а в основной документ добавляю еще один jquery+ajax скрипт, точно такой же, за исключением id списка и имени php скрипта? Я так пробовал, не работает. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Управление элементами списка по сети | alekseiryzhakov | Работа с сетью в Delphi | 0 | 22.12.2010 16:17 |
Операция над элементами со списка | b1otekk | Microsoft Office Excel | 1 | 02.06.2010 01:59 |
VBA for Excel "Операция над элементами со списка" | b1otekk | Помощь студентам | 0 | 26.05.2010 23:13 |
Как из формы открыть отчет выбрав его из списка? | NadinLip | Microsoft Office Access | 5 | 18.06.2009 08:26 |
создание списка | zetrix | Microsoft Office Excel | 0 | 31.10.2006 08:05 |