Выпадющие списки <SELECT>+JavaScript, PostgreSQL+PostGIS, MS

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Аватара пользователя
arzobispo
Активный участник
Сообщения: 230
Зарегистрирован: 10 сен 2008, 10:28
Репутация: 3
Контактная информация:

Выпадющие списки <SELECT>+JavaScript, PostgreSQL+PostGIS, MS

Сообщение arzobispo » 06 ноя 2008, 11:56

Доброго времени суток!
После прошлой темы, про выпадающие списки, решил усовершенствовать - добавил: еще одну талицу 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, разница только в названиях.
С Уважением, Антон

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя