Bevor ich wahnsinnig werde, frag ich hier besser mal nach, ob mir mit diesem Problem jemand helfen kann.
Ich möchte gerne folgendes realisieren:
Im Formular auf einer Seite soll es möglich sein, alternativ zu Auswahl aus einer langen Liste einer Selectbox stattdessen eine Position aus einer Übersichtskarte auszuwählen.
Auf einen Klick auf einen zusätzlichen Button soll sich daraufhin eine Karte öffnen, in der verschiedene Positionen in einer Imagemap hinterlegt sind. Beim Klicken auf einen dieser Punkte soll sich die Übersichtskarte dann wieder schliessen, und das entsprechende Gebiet der entsprechenden Selectbox ausgewählt werden.
Der Code dazu sieht in der aufrufenden Seite wie folgt aus:
<script type="text/javascript">
function kartenAuswahl () {
// Oeffnet das Fenster mit der Kartenauswahl
fenster = window.open("/karte.html", "Kartenauswahl", "width=610, height=620, status=no, scrollbars=no, resizable=no, location=no");
fenster.focus();
}
function auswahlAendern(optionValue) {
// Aendert die Auswahl aus dem uebergebenen Wert
document.forms[1].elements[2].selectedIndex = optionValue;
}
</script>
im geöffneten Popup bekommen die einzelnen Areas dann folgende Methodenaufrufe mit:
<area coords="174,314,10" href="javascript:self.opener.auswahlAendern(8); window.close();" shape="circle" onClick>
Das funktioniert auch soweit schon wunderbar. Nun möchte ich allerdings mit einbauen, dass die Seite die Form nach einstellen der Position automatisch submittet. Und das will einfach nicht funktionieren. Wenn ich die funktion auswahlAendern um ein entsprechendes document.forms[1].submit(); erweitere, dann wird Seite zwar neu geladen, die Form also scheinbar übertragen, aber der Wert in der Selectbox ist nicht der ausgewählte. Wenn ich das Submit manuell vornehme stimmt aber alles.
Kann mir jemand erklären, was ich noch falsch mache?