felixbecker
21-02-2003, 11:11
Hallo Profis,
habe bereits mehrere Foren nach meinem Problem abgesucht und auch
Handbücher gescheckt - bisher erfolglos.
Problem:
lese aus mysql datensätze für ein mehrstufiges select aus, die ich dann
an ein JS-script übergebe (Beispiel: Bundesland -> onclick nächstes select
werden die entsprechenden Landkreise vorausgewählt). Das funzt auch
sehr schön. Wie bekomme ich jetzt aber die selktierten Werte zurück???
Ist ads überhaupt möglich (browser/serverseitig)???
Kann mir da jemand helfen?
Ich bin für jeden Hinweis dankbar!
Gruß,
Felix
MoRtAlAn
21-02-2003, 11:42
da das in einem Formular ist, mußt du das wieder abschicken (an den Server), um die Daten zum Server zu bekommen.
gruss
felixbecker
21-02-2003, 14:20
Hi, MoRtAlAn !
So da bin ich wieder mit meinem code!
Wäre toll, wenn Du mir weiterhelfen könntest!!!!
<?php
#Formular-Anfang
echo "<form name=\"Register\" action=\"modules.php?name=XXXXXXXX\" method=\"post\">\n";
OpenTable();
# DB - Abfragen
include("modules/Adventure/js_select_bundesland_kfz.php");
# JS funktion siehe unten
dynamicboxes($Akey_ID, $Acat, $Asubcat, $num_in_array, $Adistinct_cats, $max_items, $formname,$StoreCat);
CloseTable();
###Übergabe an Hauptmodul
echo "<input type=\"hidden\" name=\"op\" value=\"savenewadv_freizeit\">";
echo "<input type=\"submit\" value=\"SUBMIT\">";
###Formular-Ende
#JS-Funktion
function dynamicboxes($array_key_ID, $array_cat, $array_subcat, $num_in_array, $distinct_cats, $MaxItems, $formname, $StoreCat)
{
print "<SCRIPT Language=\"JavaScript\">\n";
print "function UpdateSubCat()\n";
print "{\n";
print "\t var SubCat = document.$formname.subcat.options.length;\n";
print "\t while(SubCat > 0)\n";
print "\t {\n";
print "\t\t SubCat--;\n";
print "\t\t document.$formname.subcat.options[SubCat].text = '';\n";
print "\t\t document.$formname.subcat.options[SubCat].value = '';\n";
print "\t }\n\n";
print "\t document.$formname.subcat.options[0].selected = true;\n\n";
print "\t var CatSelected = 0;\n";
print "\t while(document.$formname.cat.options[CatSelected].selected==false) CatSelected++;\n\n";
$StoreCat = "";
$SubCatCount = 0;
$RowCount = 0;
while($RowCount < $num_in_array)
{
$item_key_ID = $array_key_ID [$RowCount];
$item_Cat = $array_cat [$RowCount];
$item_SubCat = $array_subcat [$RowCount];
if($StoreCat != $item_Cat)
{
if($StoreCat != "")
{
print "\t}\n";
}
print "\t if(document.$formname.cat.options[CatSelected].value == '$item_Cat')\n";
print "\t {\n";
print "\t\t document.$formname.subcat.options[0].value = 0;\n";
print "\t\t document.$formname.subcat.options[0].text = 'Wähle einen Landkreis';\n\n";
$StoreCat = $item_Cat;
$SubCatCount=1;
}
print "\t\t document.$formname.subcat.options[$SubCatCount].value = '$item_key_ID';\n";
print "\t\t document.$formname.subcat.options[$SubCatCount].text = '$item_SubCat';\n\n";
$SubCatCount++;
$RowCount++;
}
print "\t}\n";
print "}\n";
print "</SCRIPT>\n\n";
/* Aufbau der Selects */
print "<td><b>oder </b></td><td>"
."<select name=cat onChange=\"UpdateSubCat();\">\n";
print "<option value=0>Bundesland wählen...";
$RowCount = 0;
while($RowCount < count($distinct_cats))
{
print "<option value=\"";
print $distinct_cats[$RowCount];
print "\">";
print $distinct_cats[$RowCount];
print "\n";
$RowCount++;
}
print "</select></td>\n";
print "<td><b>oder </b></td><td>"
."<select name=subcat >\n";
$RowCount = 0;
while($RowCount <= $MaxItems)
{
print "<option value=$RowCount>";
print "Wähle einen Landkreis\n";
$RowCount++;
}
print "</select></td>";
}
?>
Original geschrieben von felixbecker
So da bin ich wieder mit meinem code!
schön - und?
welche gedanken hast du dir bisher über die antwort von mortalan gemacht...?