Sorry, aber ich habe kein Wort verstanden.
A: Schade, dabei habe ich mich doch so deutlich ausgedrückt.
Naja, auf ein neues! :)
Was heißt sql sendet? Wohin?
Dein server sendet vielleicht irgendwas an den Browser,
A: Das weiss ich auch. Ich programmiere PHP mit MySQL schon seit
Jahren. Und ich weiß auch, wie ich die Werte übergeben muss.
Es wäre besser, wenn du den Code auf den für deine Frage
relevanten Teil kürzen würdest.
A: Prima. Hier die gekürzte Fassung:
function Load_LA(){
var arr_H1 = new Array(), arr_H2 = new Array();
arr_H1[1] = new Array (0, 1, 2, 3);
arr_H2[1] = new Array ("--- Keine Angabe ---","Deutschland", "Österreich", "Schweiz");
var x=0;
while (arr_H2[1][x] != null){
document.laender.la.options[x] = new Option (arr_H2[1][x], arr_H1[1][x]);
document.laender.la.options[x].className = "check_option";
x++;
}
}
Hier wird eine Schleife ausgeführt, die aus dem Array arr_A2[1][x] und den Array A1[1][x] die Werte der Optionfelder übergibt.
Natürlich hätte ich es wie du erwähnt hast auch in PHP programmieren können aber da es bei dem Versuch hier eh um eine Seite geht, bei der Javascript PFLICHT ist, (Sie würde nämlich sonst nicht laufen denn es handelt sich um einen Chat) fand ich diese Javascript-Möglichkeit am besten und auch am schnellsten.
So: Nun zu meinem Problem. Das Array wird ausgelesen, sobald man ein Land wählt. Wählt man Deutschland, werden die Bundesländer von Deutschland angezeigt, Wählt man Österreich, die Bundesländer von Österreich usw. In meiner Datenbank hab ich nun Datensätze wie z.b. "Land" = "Deutschland" "Bundesland" = "Schleswig-Holstein". Diese Daten sind Inhalt von einer sogenannten ID-Card eines jeden Users, die er sich anlegen kann. Hat der User nun alle Eingaben gemacht, kann er die Eingaben speichern.
Alles gut und schön.
Nur wenn er diese Eingaben nochmal bearbeiten möchte sollte auch das von ihm eingestellte Land und Bundesland wieder in den DropDownMenües selectiert sein ! Wie ich ein selected in ein Optionsfeld gebe weiß ich glaube ich schon seit 8 Jahren *ggg*
Aber ich weis nicht, wie ich das selected hier einfüge und vorallem wie ich auswerten kann, welches Land und welches Bundesland vorher eingegeben wurde. Meine Datenbank sendet dann den Namen des Bundeslandes und des Landes. Das wandel ich dann um: z.B.:
if(!isset($Land)) { $Land_2_JS = "0"; }
if($Land == "Deutschland") { $Land_2_JS = "1"; }
if($Land == "Österreich") { $Land_2_JS = "2"; }
if($Land == "Schweiz") { $Land_2_JS = "3"; }
Das selbe Schema bei den Bundesländern.
Aber wie selectiere ich das hier ??? Habe es so versucht:
function Load_LA(){
var arr_H1 = new Array(), arr_H2 = new Array();
arr_H1[1] = new Array (0, 1, 2, 3);
arr_H2[1] = new Array ("---- Keine Angabe ----","Deutschland", "Österreich", "Schweiz");
var x=0;
while (arr_H2[1][x] != null){
if(x=2){ // Sollte eigentlich als Land Österreich ermitteln
^^^ Hier würde ich das Ergebniss von der Datenbank eintragen.
document.laender.la.options[2] = new Option (arr_H2[1][2], arr_H1[1][2]);
document.laender.la.options[2].className = "check_option";
}
else{
document.laender.la.options[x] = new Option (arr_H2[1][x], arr_H1[1][x]);
document.laender.la.options[x].className = "check_option";
}
x++;
}
}
Mit dem obigen Beispiel hätte ich zumindestens schonmal vor, dem JavaScript zu ssagen, welches Land er selectieren "müsste" ... Das "müsste" deshalb in Anführungszeichen, weil ich nicht weiß wo man bei New Option den selected setzt. Dazu kommt noch, dass das obige Beispiel scheinbar einen Fehler verursacht und meinen Browser abstürzen lässt.
Ich versteh auch nicht, warum du die Felder so umständlich
mit JS zusammenbaust und damit eine Menge Leute die Seite
nicht mehr nutzen können. Wenn du (offensichtlich) eine
Serverseitige Scriptsprache nutzen kannst, was spricht
dagegen diese zu nutzen?
A: Das ist das schöne am programmieren: Es ist jedem selbst
überlassen was er macht und was er nutzt. ;)
MFG,
TM3