Hallo zusammen,
ich habe ein Problem mit meinem Code den ich nicht nachvollziehen kann.
Ich habe 2 Dropdowns (A+B) wobei der Inhalt des zweiten (B) mittels AJAX bei Änderung des ersten (A) angepaßt wird.
Als Beipsiel:
Wähle ich in A z.Bsp. Farbe, wird in B nachgeladen: rot, gelb, etc.
Wähle ich in A z.Bsp. Muster, wird in B nachgeladen: gestreift, gepunkte, etc.
Das funktioniert soweit auch, schicke ich dann aber das Formular ab, kommt der Wert von B nicht an.
Nochmal deutlicher:
Ich lade das Formular und vorgegeben ist: A:Farbe, B:rot
Schicke ich das Formular ab, bekomme ich die Variablen für A & B und kann diese auswerten.
Ändere ich aber den Inhalt von A und B wird nachgeladen, dann wird das im Browser auch richtig angezeigt aber nach abschicken des Formulars kommt nur die Variable für A an, B ist verschwunden.
meine Funktion zum Nachladen sieht wie folgt aus:
der HTML-Aufruf dazu sieht wie folgt aus:
Wenn ich also A auf muster wechsel wird B ersetzt mit den neuen Werten. Schicke ich das Formular ab, kommt B nicht an.
Im Ajax-Block ist die Rückgabe ein kompletter <select>-Block, also nicht nur die Optionen.
Im voraus Danke für die Hilfe.
nossi
ich habe ein Problem mit meinem Code den ich nicht nachvollziehen kann.
Ich habe 2 Dropdowns (A+B) wobei der Inhalt des zweiten (B) mittels AJAX bei Änderung des ersten (A) angepaßt wird.
Als Beipsiel:
Wähle ich in A z.Bsp. Farbe, wird in B nachgeladen: rot, gelb, etc.
Wähle ich in A z.Bsp. Muster, wird in B nachgeladen: gestreift, gepunkte, etc.
Das funktioniert soweit auch, schicke ich dann aber das Formular ab, kommt der Wert von B nicht an.
Nochmal deutlicher:
Ich lade das Formular und vorgegeben ist: A:Farbe, B:rot
Schicke ich das Formular ab, bekomme ich die Variablen für A & B und kann diese auswerten.
Ändere ich aber den Inhalt von A und B wird nachgeladen, dann wird das im Browser auch richtig angezeigt aber nach abschicken des Formulars kommt nur die Variable für A an, B ist verschwunden.
meine Funktion zum Nachladen sieht wie folgt aus:
Code:
function lade_zeugs( quelle, ersetzen, ziel, http_parameter ) {
var h_id = document.getElementsByName( quelle )[0].value;
var parameter = "aktion=ajax&z=" + ziel + "&h_id=" + h_id + http_parameter;
var XMLHTTP = null;
if ( window.XMLHttpRequest ) {
XMLHTTP = new XMLHttpRequest();
} else {
XMLHTTP = new ActiveXObject( "Microsoft.XMLHTTP" );
}
XMLHTTP.open( "POST", "script.php", false );
XMLHTTP.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
XMLHTTP.send( parameter );
var rueckgabe = XMLHTTP.responseText;
document.getElementById( ersetzen ).innerHTML = rueckgabe;
}
der HTML-Aufruf dazu sieht wie folgt aus:
HTML:
<select name="A" size="1" onchange="lade_zeugs( 'A', 'B_div', 'B', '&weitere_parameter')">
<option value="1">farbe</option>
<option value="1">muster</option>
<select>
<div id="B_div">
<select name="B" size="1">
<option value="1">rot</option>
<option value="2">gelb</option>
</select>
</div>
Wenn ich also A auf muster wechsel wird B ersetzt mit den neuen Werten. Schicke ich das Formular ab, kommt B nicht an.
Im Ajax-Block ist die Rückgabe ein kompletter <select>-Block, also nicht nur die Optionen.
Im voraus Danke für die Hilfe.
nossi