• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Использование Javascript в меню Select

  • Автор темы Wylde
  • Дата начала
Статус
Закрыто для дальнейших ответов.
W

Wylde

Задача сделать 2 меню выбора select. 1-й - независимый (например марки автомобилей), а второй зависимый (модели выбранной марки). Опишите хотя бы механизм как,чего и чем подгружается чтобы при выборе Марки автомобиля во втором select меню генерировался список Моделей данной марки.
 
E

Emelya

Прива, я в похожем случае использовал xmlhttprequest. Потом обрабатывал полученный с сервера хмл и генерировал селект. Тока вот я не знаю, вроде если селект яваскриптом генерировать, под ИЕ может не пролезть :( Не помню точно:( Но теоретически , можно сразу сгенерировать на сервере всевозможные селект меню с моделями авто, тока поставить им атрибут style="visibility:hidden", а потом, тот который выберут на document.getElementById(селекткакойнить).style.visibility="visible"; менять. Тока так не красиво:( чёт я расчувствовался, звиняюсь ;)
 
W

Wylde

Ну хорошо, допустим. Только httprequest для меня штука незнакомая.
А возможна ли такая схема:
Инфа по моделям хранится в базе Mysql(или в тхт файле).
А при изменении марки подгружается яваскриптом в форму селект.

З.Ы. ТОКА как генерировать яваскриптом список селект???
 
E

Emelya

Повторюсь, не уверен что генерирование будет работать под ИЕ :)
xmlhttprequest это такой модный нонче AJAX, т.е. XMLHttpRequest или ActiveXObject задать в поисковик и посмотреть как работает, есть даже в Википедии ;)
Кстати, с этой штукой и получится желаемая схема.
Генерирование селекта:
Код:
while (массив елементов для селекта не пуст){
строка= newOption(текст,ID);//создание новой марки
i++;
document.getElementById("ID заполняемого селекта").options[i++]=строка;//добавление в селект
}
Така я соврал, это не генерирование селекта, это заполнение пустого селекта. А вот можно ли его с нуля создать, это вопрос. :) Но ведь вроде в схеме он может быть и пустой сначала ;)
Ну и чтоб стереть все марки(обнулить селект), каждую строку к нулю надо приравнять
 
W

Wylde

Я так понимаю это явавский код... Спасибо! А как подгружать из тхт файла марки (на каждую модель будет свой тхт с марками)? Большая ли разница в коде если сделать не через тхт а через базу MySql
 
W

Wylde

А! И ещё последнее! Как чтобы при открытии формы селект "Марки" был недоступен для выбора, и становился доступным только после выбора "Модели"
 
W

Wylde

Кароче ВСЁ!!! Сделал работает. Спасибо дружище, но к сожалению твой код почему-то не пашет, ЗАТО! Начал разбираться почему не работает и разобрался... вобщем вот то что мне нужно было:

<script LANGUAGE="JavaScript">

function markamodel() {

z=0 // сначала очищаем вначале все опции нах, если не выбрана модель
for (z = 0; z < 9; z++) {
form.model.options[z]=null;}

form.model.options[0] = new Option("-//-", 1); // это пункт означающий ВСЕ марки выбранной модели, присутствует по любому даже если модель и не выбрана
form.model.options[1]=null;

if (form.marka.value == "Bmw") { //если модель БМВ то заполняем в соответствии марки
form.model.options[1] = new Option("316", 316);
form.model.options[2] = new Option("325", 325);}

if (form.marka.value == "Ваз") { //аналогично
form.model.options[1] = new Option("2101", 2101);
form.model.options[2] = new Option("2108", 2108);
form.model.options[3] = new Option("2109", 2109);}

if (form.marka.value == "Opel") {//аналогично
form.model.options[1] = new Option("Ascona", 'Ascona');
form.model.options[2] = new Option("Vectra", 'Vectra');
form.model.options[3] = new Option("Kadett", 'Kadett');}

}

</SCRIPT>



СПАСИБА!!! :D
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!