Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Zugriff auf ein geclontes div Javascript

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
twitch
PostRank 9
PostRank 9
Beiträge: 1222
Registriert: 09.04.2005, 14:01

Beitrag von twitch » 17.04.2007, 08:07

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>

SEO - History, Tools, Videos, Downloads und mehr auf https://www.seo-ranking-tools.de/

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag