Borewa: dynamisches onchance

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.

  1. 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.

  2. 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

    --
    RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
    RFC 1925, Satz 11a: Siehe Regel 6a
  3. 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

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]