![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Доброго времени суток, друзья.
У меня такая проблема: есть выпадающий список типов, скажем, товаров: 1) игрушки; 2) книги; 3) продукты питания. Оформлено это тегом <select></select> в обычной форме. Но данные в этот тег подставляются из базы данных посредством селекта, который добавляется к моему тегу в php-коде. Как теперь можно сделать так, чтобы в зависимости от выбранного пункта выпадающего списка под ним появилась расшифровка того, что есть в этой группе? То есть у меня в базе есть табличка, в которой привязываются типа товаров к самим товарам, соответственно все товары на определенной группе мы можем легко получить. Только вот как совместить JavaScript с sql я не пойму. Ведь JavaScript отыгрывается на клиенте, а запросы выполняются на серваке... Что здесь можно сделать? -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
можно написать реакцию на выбор пункта:
<select onchange="reaction(this);"> дальше можно в обработчике реакции reaction(x) написать соответствующее поведение. вариантов тут может быть несколько: 1. перезагрузка страницы с get-параметром. в этом случае достаточно будет переписать php-скрипт, строящий этот селект и поясниловку под ним. при наличии get-параметра происходит дополнительный запрос в БД и вставляется характеристика 2. организовать в динамическом режиме. это уже надо читать ajax. отправляем запрос серверу на специальный скрипт с тем же get-параметром, он копается в базе и отдаёт нам полученный текст. далее мы его на страничке вставляем в нужное место |
|||
|
||||
MacTep |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Можно вот этот способ подробнее расписать? Каким образом JavaScript реакция может помочь? Что она должна делать? Она просто выставляет get-параметр? Или как? Слегка недопонимаю ситуацию. Объясните, пожалуйста. -------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: нет Всего: 19 |
Дело в том, что в JavaScript есть редирект.
|
|||
|
||||
MacTep |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Дали вот такой еще пример: как реализация - нормально?
-------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
||||
|
|||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
третий вариант: сразу отдавать и список, и "пояснительный текст" клиенту, а в реакции по выбору пункта отображать тот или иной блок. вообще, любая реакция на действия пользователя может быть: а) сопровождаться перезагрузкой страницы(как бы переход по ссылке) достоинство: раз это полноценный адрес, то можно на него поставить закладку, отправить другу по аське и т.д. Плюс, этот адрес индексируется поисковиками. плюс - высокая актуальность, т.е. человек всегда получает последнюю версию данных. недостаток: при небольших изменениях мы передаем тонну траффика - информации из соседних блоков, которая не поменялась - лишняя нагрузка, лишний траффик. б) не сопровождается перезагрузкой страницы: общий недостаток - явный определенный адрес отсутствует, нельзя поставить закладку/скинуть ссылку, продвинуть в поисковике отдельную страницу тоже не получится - отдельной страницы нет. Варианты реализации: - либо ajax(запрос на сервер происходит незаметно для пользователя) достоинство: траффик минимален - запрашиваются/получаются только измененные блоки; актуальность высока - даже если человек страницу уже полгода держит открытой в браузере и не закрывает страницу, все равно - подгрузка блока с сервера достанет последнюю по времени информацию. недостаток: не индексируется поисковиками; javascript может не выполняться(мобильные браузеры, параноики) - и логика работать не будет; - либо заранее включать всю информацию в страницу и средствами javascript только производить отображение/скрытие достоинство: информация индексируется поисковиками, хотя страница все-таки одна; со страницей можно работать и в отсутствие интернета; можно предусмотреть вариант для браузера с отключенным javascript'ом - в таком случае со страницей сможет работать и клиент без javascript'a недостатки: объем страницы может получиться слишком большим; актуальность информации зависит от времени последнего обновления страницы - не обновляли страницу в браузере полгода - данные будут полугодичной давности. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |