Seite 1 von 1

Zugriff auf ein geclontes div Javascript

Verfasst: 17.04.2007, 08:07
von twitch
Mit Hilfe folgender Funktion Clone ich ein Div, welches mehrere Input Felder hat.

Code: Alles auswählen

function clone_this(button, objid){
					    var clone_me = document.getElementById(objid).firstChild.cloneNode(true);
					    button.parentNode.insertBefore(clone_me, button);
					}
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:

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);
					 }
					}
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:

Code: Alles auswählen

document.getElementById(af).innerHTML = xmlHttp.responseText;
ersetzt mit:
(af enthält "this")

Code: Alles auswählen

af.parentNode.parentNode.parentNode.parentNode.parentNode.innerHTML = xmlHttp.responseText;
funktioniert aber nicht.
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&#58;200px;" name="bestellnr&#91;&#93;" onkeyup="loadDataChild&#40;this,'bestellnr'&#41;;" id="bestellnr" /> <img alt="" src="'.pfad.'images/ico_searching.gif" style="display&#58;none;" id="simg_bestellnr" />
<div id="auswahl&#91;&#93;" style="display&#58;none;"></div>