Zugriff auf ein geclontes div Javascript
Verfasst: 17.04.2007, 08:07
Mit Hilfe folgender Funktion Clone ich ein Div, welches mehrere Input Felder hat.
Das funktioniert auch soweit ganz gut und die Daten bekomme ich auch gut in ein Array mit Hilfe der []-Klammersetzung an den Namen des Inputfeldes.
Jetzt möchte ich aber gerne, dass ich für ein Input-Feld Daten mit Hilfe von AJAX nachlade, also eine Autovervollständigung, der eingegebenen Daten.
Dafür benutze ich das:
Das funktioniert nur beim Eltern-Div, nicht aber bei den geclonten.
Wie greife ich nun auf die Childs zu?
Folgendes habe ich schon ohne ERfolg versucht:
ersetzt mit:
(af enthält "this")
funktioniert aber nicht.
Das Autovervollständigungsmenü kommt immer beim ersten Input-Feld.
Hat jemand eine Idee?
Abgespeckte Code des Formulares:
Code: Alles auswählen
function clone_this(button, objid){
var clone_me = document.getElementById(objid).firstChild.cloneNode(true);
button.parentNode.insertBefore(clone_me, button);
}
Jetzt möchte ich aber gerne, dass ich für ein Input-Feld Daten mit Hilfe von AJAX nachlade, also eine Autovervollständigung, der eingegebenen Daten.
Dafür benutze ich das:
Code: Alles auswählen
function loadDataChild(ausgabefeld,eingabefeld){
var af = ausgabefeld;
var ef = eingabefeld;
if (xmlHttp) {
xmlHttp.open('GET', '../system/getBestellNr.php?value='+document.getElementById(ef).value+'&ef='+ef, true);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
document.getElementById(af).innerHTML = xmlHttp.responseText;
af.parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "";
}
};
xmlHttp.send(null);
}
}
Wie greife ich nun auf die Childs zu?
Folgendes habe ich schon ohne ERfolg versucht:
Code: Alles auswählen
document.getElementById(af).innerHTML = xmlHttp.responseText;
(af enthält "this")
Code: Alles auswählen
af.parentNode.parentNode.parentNode.parentNode.parentNode.innerHTML = xmlHttp.responseText;
Das Autovervollständigungsmenü kommt immer beim ersten Input-Feld.
Hat jemand eine Idee?
Abgespeckte Code des Formulares:
Code: Alles auswählen
<input type="text" class="input_text" style="width:200px;" name="bestellnr[]" onkeyup="loadDataChild(this,'bestellnr');" id="bestellnr" /> <img alt="" src="'.pfad.'images/ico_searching.gif" style="display:none;" id="simg_bestellnr" />
<div id="auswahl[]" style="display:none;"></div>