Выпадющие списки <SELECT>+JavaScript, PostgreSQL+PostGIS, MS
Добавлено: 06 ноя 2008, 11:56
Доброго времени суток!
После прошлой темы, про выпадающие списки, решил усовершенствовать - добавил: еще одну талицу personal, map-файле изменил запрос и JavaScript, который второй выпадающий список жестко связывает с первым, и потом по идее выполняется Запрос. Но этого не произошло, было выведено сообщение об ошибке:
loadMap(): Web application error. CGI variable "map" is not set. В чем тут дело? Исходники привожу ниже:
<
Примечание: таблица personal содержит точно такие же столбцы, что и таблица animals, разница только в названиях.
После прошлой темы, про выпадающие списки, решил усовершенствовать - добавил: еще одну талицу personal, map-файле изменил запрос и JavaScript, который второй выпадающий список жестко связывает с первым, и потом по идее выполняется Запрос. Но этого не произошло, было выведено сообщение об ошибке:
loadMap(): Web application error. CGI variable "map" is not set. В чем тут дело? Исходники привожу ниже:
<
Код: Выделить всё
html>
<head>
<title>Example</title>
</head>
<body>
<script language=javascript>
function OnSelect(select){
switch (select.selectedIndex) {
case 0:
with (document.add_in_board.fio) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
selectedIndex = 0;
}; break;
case 1:
with (document.add_in_board.fio) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Сидоров');
selectedIndex = 0;
}; break;
case 2:
with (document.add_in_board.fio) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Пупкин');
selectedIndex = 0;
}; break;
case 3:
with (document.add_in_board.fio) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Иванов');
selectedIndex = 0;
}; break;
case 4:
with (document.add_in_board.fio) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Барбосов');
selectedIndex = 0;
}; break;
case 5:
with (document.add_in_board.fio) {
options.length = 0;
options[options.length]=new Option('Сделайте выбор');
options[options.length]=new Option('Тапочкина');
selectedIndex = 0;
}; break;
}
}
</script>
<!-- ОПИСАНИЕ MAPSERVER-ФОРМЫ -->
<form name="mapserv" method="GET" action="/cgi-bin/mapserv.exe" id="add_in_board" name="add_in_board" onsubmit="return checkOnSubmit();>
<input type="hidden" name="map" value="[map]">
<select name ="col" id='col' 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 ="fio" id='col' style="width:135px"></select><script language="Javascript">OnSelect(document.add_in_board.col);</script>
<input type="submit" value="Запросить">
<input type="hidden" name="layer" value="prostokarta_region">
<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>
Код: Выделить всё
MAP
IMAGETYPE GIF
EXTENT -1.782351 0.244013 -0.618259 1.314817
SIZE 400 300
WEB
TEMPLATE "/ms4w/apps/mslocal/templates/example3.html"
IMAGEPATH "/ms4w/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
LAYER
NAME "base"
CONNECTIONTYPE postgis
CONNECTION "user=postgres password=9562876qwerty dbname=postgis host=localhost"
DATA "the_geom FROM prostokarta_region USING SRID=4326"
TYPE POLYGON
CLASS
COLOR 125 234 100
OUTLINECOLOR 100 100 100
END
END
LAYER
NAME "prostokarta_region"
CONNECTIONTYPE postgis
CONNECTION "user=postgres password=9562876qwerty dbname=postgis host=localhost"
DATA "the_geom FROM
(
SELECT prostokarta_region.the_geom AS the_geom,
prostokarta_region.oid AS oid,
animals.color AS acolor, personal.fio AS afio
from prostokarta_region, animals, personal
where (animals.id = prostokarta_region.id) and (animals.color='%col%') and
(personal.fio='%fio%')
)
AS new_table USING SRID=4326"
TYPE POLYGON
CLASSITEM "acolor"
CLASS
NAME "Белые"
EXPRESSION 'Белый'
COLOR 255 255 255
OUTLINECOLOR 100 100 100
END
CLASS
NAME "Черные"
EXPRESSION 'Черный'
COLOR 0 0 0
OUTLINECOLOR 100 100 100
END
CLASS
NAME "Желтые"
EXPRESSION 'Желтый'
COLOR 255 255 0
OUTLINECOLOR 100 100 100
END
CLASS
NAME "Серые"
EXPRESSION 'Серый'
COLOR 100 100 100
OUTLINECOLOR 100 100 100
END
CLASS
NAME "Рыжие"
EXPRESSION 'Рыжий'
COLOR 200 100 0
OUTLINECOLOR 100 100 100
END
END
END
Примечание: таблица personal содержит точно такие же столбцы, что и таблица animals, разница только в названиях.