У меня такая проблема, написал JS который делает зависимыми выпадающие списки Select, т.е. список второй зависит от первого, все вроде работает, но вот МапСервер ругается, говорит, что переменная не определена (loadMap(): Web application error. CGI variable "map" is not set. ).
Что надо исправить или дописать, чтобы начало работать?
Для сравнения приведу два кода с html странички, на одной странице обычные select'ы (все работает и на псевдо-карте отображается), а на второй с использованием JS.
Первая:
Код: Выделить всё
<html>
<head>
<title>Proba</title>
</head>
<body>
<!-- ОПИСАНИЕ MAPSERVER-ФОРМЫ -->
<form name="mapserv" method="GET" action="/cgi-bin/mapserv.exe">
<input type="hidden" name="map" value="[map]">
<div align="left">Овощи</div>
<select name ="group" size=1>
<option value='' selected></option>
<option value='Грибы'>Грибы</option>
<option value='Ягода'>Ягода</option>
<option value='Хвосты'>Хвосты</option>
<option value='Нитки'>Нитки</option>
<option value='Картофель'>Картофель</option>
<option value='Шкурки'>Шкурки</option>
<option value='Буратино'>Буратино</option>
</select><br><br>
<div align="left">Дачный поселок</div>
<select name ="imfm" size=1>
<option value='' selected></option>
<option value='Баранкино'>Баранкино</option>
<option value='Гадюкино'>Гадюкино</option>
<option value='Ужиково'>Ужиково</option>
<option value='Южный'>Южный</option>
<option value='Северный'>Северный</option>
<option value='Тарасовка'>Тарасовка</option>
<option value='Тряпкино'>Тряпкино</option>
</select><br><br>
<div align="left">Садоводы</div>
<select name ="im" size=1>
<option value='' selected></option>
<option value='Давыдович'>Давыдович</option>
<option value='Зиборова'>Зиборова</option>
<option value='Сандлер'>Сандлер</option>
<option value='Кочанова'>Кочанова</option>
<option value='Свободина'>Свободина</option>
<option value='Келлер'>Келлер</option>
<option value='Щербакова'>Щербакова</option>
</select><br><br>
<div align="left">Общество</div>
<select name ="imtc" size=1>
<option value='' selected></option>
<option value='Куркино'>Куркино</option>
<option value='Абрамцево'>Абрамцево</option>
<option value='Бурцево'>Бурцево</option>
<option value='Сходня'>Сходня</option>
<option value='Химки'>Химки</option>
</select><br><br>
<input type="submit" value="Запросить">
<input type="hidden" name="layer" value="prostokarta">
<input type="hidden" name="layer" value="base">
<input type="hidden" name="mode" value="browse">
</form>
<div align="center">
<input type="image" name="img" src="[img]" width="300" height="200">
</div>
</body>
</html>
Код: Выделить всё
<html>
<head><title>Выпадающие списки</title></head>
<body>
<script language=javascript>
function OnSelect(select){
switch (select.selectedIndex) {
case 0:
with (document.add.imtc) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
selectedIndex = 0;
}; break;
case 1:
with (document.add.imtc) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Химки');
options[options.length]=new Option('Абрамцево');
selectedIndex = 0;
}; break;
case 2:
with (document.add.imtc) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Химки');
options[options.length]=new Option('Сходня');
options[options.length]=new Option('Куркино');
selectedIndex = 0;
}; break;
case 3:
with (document.add.imtc) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Сходня');
options[options.length]=new Option('Абрамцево');
options[options.length]=new Option('Бурцево');
selectedIndex = 0;
}; break;
case 4:
with (document.add.imtc) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Бурцево');
selectedIndex = 0;
}; break;
case 5:
with (document.add.imtc) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Абрамцево');
selectedIndex = 0;
}; break;
}
}
</script>
<form name="mapserv" method="GET" action="/cgi-bin/mapserv.exe" id="add" name="add" onsubmit="return
CheckOnSubmit();>
<input type="hidden" name="map" value="[map]">
<div align="left">Овощи</div>
<select name="group" id='group' onChange="javascript:OnSelect(this)" size=1>
<option selected></option>
<option value='Грибы'>Грибы</option>
<option value='Ягода'>Ягода</option>
<option value='Хвосты'>Хвосты</option>
<option value='Нитки'>Нитки</option>
<option value='Картофель'>Картофель</option>
</select>
<select name="imtc" id='group' style="width:135px"></select>
<script language="JavaScript">OnSelect(document.add.group);</script>
<input type="submit" value="Запросить">
<input type="hidden" name="layer" value="prostokarta">
<input type="hidden" name="layer" value="base">
<input type="hidden" name="mode" value="browse">
</form>
<div align="center">
<input type="image" name="img" src="[img]" width="300" height="200">
</div>
</body>
</html>