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>