dynamisches onchance
Borewa
- javascript
Guten Tag,
ich muss ein onchance dynamisch ändern.
Ich weiß auch das ein Eventhandler eine Funktionsreferenz und keinen String erwartet.
Nur trotzdem habe ich ein Problem damit.
Habe folgendes Probiert:
document.getElementById('plz').setAttribute("onchange","getHttpRequest('plz"+id+"','ort"+id+"','plz_id"+id+"')");
Wenn ich nun mit
alert(document.getElementById('plz').onchange);
den Inhalt ausgeben möchte, zeigt er mir den richtigen Wert an, aber wenn ich das Input ändere passiert nichts. Ein Javascriptfehler wird dann auch nicht angezeigt.
ein anderer Ansatz war:
document.getElementById('plz').onchange = function(){getHttpRequest('plz"+id+"','ort"+id+"','plz_id"+id+"')};
Nun steht aber nach der Kontrolle mit dem Alert statt getHttpRequest('plz2','ort2','plz_id2') -> getHttpRequest('plz"+id+"','ort"+id+"','plz_id"+id+"') drinnen.
Die Variable id wurde einfach als Text übernommen.
Wenn ich es statisch eingabe z.B:
function(){getHttpRequest('plz2','ort2','plz_id2')}
dann geht das onchance richtig, nur muss ich leider die Zahlen/IDs variable haben.
Ich weiß auch das ein Eventhandler eine Funktionsreferenz und keinen String erwartet.
Wenn du es weißt, warum setzt du es dann nicht um?
Nur trotzdem habe ich ein Problem damit.
Ja, weil du es nicht wirklich verstanden hast.
ein anderer Ansatz war:
document.getElementById('plz').onchange = function(){getHttpRequest('plz"+id+"','ort"+id+"','plz_id"+id+"')};
Der ist fast richtig, aber hier verstehst du nicht, wie eine Zeichenkette zusammengesetzt wird.
document.getElementById('plz').onchange = function(){
getHttpRequest('plz' + id, 'ort' +id, 'plz_id'+id);
};
Struppi.
onchange funktioniert hauptsächlich bei select-Feldern. Bei text- und passwort-inputs würde ich eher zu events wie onkeyup raten (was gegenüber onkeydown den Vorteil hat, dass dabei der value schon verändert ist).
Gruß, LX
Hi,
document.getElementById('plz').onchange = function(){getHttpRequest('plz"+id+"','ort"+id+"','plz_id"+id+"')};
Nun steht aber nach der Kontrolle mit dem Alert statt getHttpRequest('plz2','ort2','plz_id2') -> getHttpRequest('plz"+id+"','ort"+id+"','plz_id"+id+"') drinnen.
Die Variable id wurde einfach als Text übernommen.
Du hast nur reinen Text angegeben. Dass dort irgendwo Variablen im Spiel wären, ist reine Einbildung.
MfG ChrisB