Hi Nico, Frankie
Ich wuerde das ganze auch auf aehnliche Art loesen, nur, dass ich nicht eine Dummyzeile, sondern eine Zeile mit: alle Laender, bzw alle Regionen einfuegen wuerde. Sonst weiss der ahnungslose user naemlich nicht was er da ueberhaupt sucht ;-)
Ausserdem hast du (Nico) bei deinem Quelltext einiges! an mist kopiert, bzw falsch gemacht:
1. hinter dem 1ten </html> stehen nochmal die letzten zwei divs.
2. 5.div: id name="Östereich" ist wegen dem Ö falsch. Also einfach:id name="Oestereich".
3. in den 5 "RegionalFormularen"steht im form tag: action method target onSubmit="return FrontPage_Form6_Validator(this)" ....
Da du aber wenn ich das richtig verstanden habe diese Formulare gar nicht abschicken willst, kannst du alles bis auf den Namen der Formulare weglassen
Ausserdem: du willst: onSubmit="return FrontPage_Form1_Validator(this) verschicken, nennst aber das Formular FrontPage_Form1 ohne_Validator?? (Bei den Regionalformularen im uebrigen auch!!) Ausserdem kann ich nicht sehen wofuer du ueberhaupt diese Zuweisung brauchst.
4. In der function Wertuebertragen(i) weist du document.forms[0].b_land.value irgendwas zu, aber es gibt leider gar kein Input mit namen b_land sondern nur eins mit namen regionen. Das musst du also noch umbenennen. In diesem versteckten Input fehlt auch noch die Angabe value=""!
Ausserdem gibt es dann grosse!! Probleme, wenn man ein bischen chaotisch herumklickt. Beispiel: Ich waehle Deutschland und dann als Region Berlin, waehle dann Frankreich mit der Region Alsace.
Wenn ich dann wieder auf Deutschland zurueckgehe, ist erneut Berlin als Region vorgewaehlt, im Formular wurde aber als letzte Region Alsace gewaehlt und das wuerde auch beim Abschicken mit uebertragen!!
Um dieses Problem zu umgehen muss die Region bei jedem Landwechsel (und damit:bei jedem aufruf von function zeigeLaender()) neu uebergeben werden.
So jetzt mal den ganzen Quelltext:
<html>
<head>
<title>Suche</title>
<script language="JavaScript">
<!--
function Wertuebertragen(i) {
if (document.layers){
for(j=0;j<document.layers[i].document.forms[0].regionen.length;++j)
if(document.layers[i].document.forms[0].regionen.options[j].selected == true)
document.forms[0].b_land.value=document.layers[i].document.forms[0].regionen.options[j].value;
}
else if (document.all){
for(j=0;j<document.forms[i+1].regionen.length;++j)
if(document.forms[i+1].regionen.options[j].selected == true)
document.forms[0].b_land.value=document.forms[i+1].regionen.options[j].value;
}
return
}
function zeigeLaender() {
i=document.forms[0].land.selectedIndex;
if (document.layers){
for (j=0;j<5;j++) document.layers[j].visibility="hide";
if (i>0){
document.layers[i-1].visibility="show";
for(j=0;j<document.layers[i-1].document.forms[0].regionen.length;++j)
if(document.layers[i-1].document.forms[0].regionen.options[j].selected == true)
document.forms[0].b_land.value=document.layers[i-1].document.forms[0].regionen.options[j].value;}
else document.forms[0].b_land.value="";
}
else {
for (j=0;j<5;j++) document.all.tags("div")[j].style.visibility="hidden";
if (i>0){
document.all.tags("div")[i-1].style.visibility="visible";
for(j=0;j<document.forms[i].regionen.length;++j)
if(document.forms[i].regionen.options[j].selected == true)
document.forms[0].b_land.value=document.forms[i].regionen.options[j].value;}
else document.forms[0].b_land.value="";}
return
}
//-->
</script>
</head>
<body bgcolor="#F0F0F0">
<form action="suchbild.php3" name="FrontPage_Form1" method="GET">
<input type="hidden" name="notify" value="yes"><input type="hidden" name="b_land" value=""
<p>Geben
Sie hier hier die Kriterien ein: </p>
<table border="0" width="249" height="22">
<tr>
<td width="114" height="22">LAND:</td>
<td width="123" height="22"><select name="land" size="1" onchange="zeigeLaender()">
<option value="land0">Alle Länder</option>
<option value="land1">Deutschland</option>
<option value="land2">Frankreich</option>
<option value="land3">Luxemburg</option>
<option value="land4">Österreich</option>
<option value="land5">Belgique</option>
</select></td>
</tr>
<tr>
<td width="114" height="22">REGION:</td>
<td width="123" height="22"></td>
</tr>
</table>
<p><input type="Submit" name="submit" value="Abschicken"> <input type="reset"
value="Löschen"> </p>
</form>
<div id="Deutschland" style="position:absolute; top:82; left:132; visibility:hidden;">
<form name="FrontPage_Form2">
<p><select name="regionen" size="1" onchange="Wertuebertragen(0)">
<option value="alles">Alle Regionen</option>
<option value="Baden-Württemberg">Baden-Württemberg</option>
<option value="Bayern">Bayern</option>
<option value="Berlin">Berlin</option>
</select></p>
</form>
</div>
<div id="Frankreich" style="position:absolute; top:82; left:132; visibility:hidden;">
<form name="FrontPage_Form3">
<p><select name="regionen" size="1" onchange="Wertuebertragen(1)">
<option value="alles">Alle Regionen</option>
<option value="Alsace">Alsace</option>
<option value="Aquitaine">Aquitaine</option>
<option value="Auvergne">Auvergne</option>
</select> </p>
</form>
</div>
<div id="Luxemburg" style="position:absolute; top:82; left:132; visibility:hidden;">
<form name="FrontPage_Form4">
<p><select name="regionen" size="1" onchange="Wertuebertragen(2)">
<option value="alles">Alle Regionen</option>
<option value="Luxemburg">Luxemburg</option>
<option value="Diekirch">Diekirch</option>
<option value="Grevenmacher">Grevenmacher</option>
</select> </p>
</form>
</div>
<div id="Oesterreich" style="position:absolute; top:82; left:132; visibility:hidden;">
<form name="FrontPage_Form5">
<p><select name="regionen" size="1" onchange="Wertuebertragen(3)">
<option value="alles">Alle Regionen</option>
<option value="Burgenland">Burgenland</option>
<option value="Kärnten">Kärnten</option>
</select> </p>
</form>
</div>
<div id="Belgique" style="position:absolute; top:82; left:132; visibility:hidden;">
<form name="FrontPage_Form6">
<p><select name="regionen" size="1" onchange="Wertuebertragen(4)">
<option value="alles">Alle Regionen</option>
<option value="Bruxelles">Bruxelles</option>
<option value="Flandre">Flandre</option>
<option value="Wallonie">Wallonie</option>
</select> </p>
</form>
</div>
</body>
</html>
Tschau Holger
PS ich hab das nur mit Netscape getestet. Es koennte sein, dass in der Funktion zeigeLaender einige i's durch i+1 oder aehnliches ersetzt werden muessen ;-)