Hallo PHP'ler,
ich habe eine Frage zu folgendem Problem (habe in dieser Konstellation, hier leider nichts passendes gefunden) und hoffe Ihr könnt mir einen Tip geben (mache schon seit Stunden rum).
Ich habe 3 Dropdownboxen, die 1. wird beim laden der Seite gefüllt (jede Box wird dabei über PHP & MySQL gefüllt).
Abhängig von der Auswahl der 1. Box, soll die 2. Dropdownbox gefüllt werden (über JS onchange=reload, das funktioniert!).
[JS-Code]
function reload(form)
{
var val=form.typ.options[form.typ.options.selectedIndex].value;
self.location='pg3.php?typ='+ val;
}
[/JS-Code]
Aber jetzt kommts, wenn ich für die 2. Box das onchange=reload2 im PHP aufrufe, wird die Variable noch an JS geschickt und entsprechend verarbeitet und auch wieder an das PHP Script zurückgeschickt, aber die 2. SelectBox hat Ihren ausgewählten Wert (option selected value) verloren (die 1. Box aber nicht!). Über "hidden-fields" kann ich mir zwar weiterhelfen, aber ich würde gerne den Fehler finden.
[JS-Code]
function reload2(form)
{
var val=form.typ.options[form.typ.options.selectedIndex].value;
var val1=form.gruppe.options[form.gruppe.options.selectedIndex].value;
//alert(val + val1);
self.location='pg3.php?typ='+val+'&gruppe='+val1;
}
[/JS-Code]
Wie gesagt, über die "hidden-fields" fülle ich die 3.te Box und dann über submit weiter (das geht auch).
Ich verstehe nur nicht, wieso das reload bei Box1 funktioniert (option selected value) und bei Box2 reload2 nicht.
Zum besseren Verständnis, hier noch der PHP-Code:
Vielen Dank schonmal für Eure hilfe.
ich habe eine Frage zu folgendem Problem (habe in dieser Konstellation, hier leider nichts passendes gefunden) und hoffe Ihr könnt mir einen Tip geben (mache schon seit Stunden rum).
Ich habe 3 Dropdownboxen, die 1. wird beim laden der Seite gefüllt (jede Box wird dabei über PHP & MySQL gefüllt).
Abhängig von der Auswahl der 1. Box, soll die 2. Dropdownbox gefüllt werden (über JS onchange=reload, das funktioniert!).
[JS-Code]
function reload(form)
{
var val=form.typ.options[form.typ.options.selectedIndex].value;
self.location='pg3.php?typ='+ val;
}
[/JS-Code]
Aber jetzt kommts, wenn ich für die 2. Box das onchange=reload2 im PHP aufrufe, wird die Variable noch an JS geschickt und entsprechend verarbeitet und auch wieder an das PHP Script zurückgeschickt, aber die 2. SelectBox hat Ihren ausgewählten Wert (option selected value) verloren (die 1. Box aber nicht!). Über "hidden-fields" kann ich mir zwar weiterhelfen, aber ich würde gerne den Fehler finden.
[JS-Code]
function reload2(form)
{
var val=form.typ.options[form.typ.options.selectedIndex].value;
var val1=form.gruppe.options[form.gruppe.options.selectedIndex].value;
//alert(val + val1);
self.location='pg3.php?typ='+val+'&gruppe='+val1;
}
[/JS-Code]
Wie gesagt, über die "hidden-fields" fülle ich die 3.te Box und dann über submit weiter (das geht auch).
Ich verstehe nur nicht, wieso das reload bei Box1 funktioniert (option selected value) und bei Box2 reload2 nicht.
Zum besseren Verständnis, hier noch der PHP-Code:
PHP:
//Dropdownboxen
echo "<FORM ACTION='pg3.php' METHOD='GET'>";
$quer1=mysql_query("SELECT DISTINCT typ FROM pg3 WHERE prache='".$_SESSION["land"]."' ORDER BY typ ASC");
//dropdown1
echo "<B><Font face=Arial size=3>Quick Link: </B>";
echo "<select name='typ' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
while($erg1 = mysql_fetch_array($quer1))
{
if($erg1['typ']==$typ)
{
echo "<option selected value='$erg1[typ]'>$erg1[typ]</option>"."<BR>";
}
else
{
echo "<option value='$erg1[typ]'>$erg1[typ]</option>"; }
}
echo "</select>";
//dropdown2
if(isset($typ) AND strlen($typ) > 0)
{
$quer2=mysql_query("SELECT DISTINCT gruppe FROM pg3 WHERE typ='".$typ."' AND Sprache='".$_SESSION["land"]."' ORDER BY gruppe ASC");
}
echo "<select name='gruppe' onchange=\"reload2(this.form)\"><option value=''>Select one</option>";
while($erg2 = mysql_fetch_array($quer2))
{
if($erg2['gruppe']==$gruppe)
{
//kommt hier nicht rein
echo "<option selected value='$erg2[gruppe]'>$erg2[gruppe]</option>"."<BR>";
}
else
{
echo "<option value='$erg2[gruppe]'>$erg2[gruppe]</option>"; }
}
echo "</select>";
//dropdown3
if(isset($typ) AND strlen($typ) > 0 AND isset($gruppe) AND strlen($gruppe) > 0)
{
$quer3=mysql_query("SELECT DISTINCT kategorie FROM pg3 WHERE typ='".$typ."' AND gruppe='".$gruppe."' AND Sprache='".$_SESSION["land"]."' ORDER BY kategorie ASC");
echo "<input type='hidden' name='gruppe' value='".$gruppe."'>";
}
echo "<select name='kategorie'><option value=''>Select one</option>";
while($erg3 = mysql_fetch_array($quer3))
{
if($erg3['kategorie']==$kategorie)
{
echo "<option selected value='$erg3[kategorie]'>$erg3[kategorie]</option>"."<BR>";
}
else
{
echo "<option value='$erg3[kategorie]'>$erg3[kategorie]</option>"; }
} echo "</select>";
echo "<input type='submit' name='ok' value='OK'>";
echo "</FORM>";
Vielen Dank schonmal für Eure hilfe.