Claus Peter: onchange liefert keinen Rückgabewert

Beitrag lesen

Hi,

for(i=0; pInput=document.getElementsByTagName("input")[i]; i++)
// Trickreich, aber unperformant! getElementsByTagName ist eine sehr zeitaufwendige Funktion, die man, wo immer möglich, nur einmal aufrufen sollte. Also das zurückgegebene Array lieber zwischenspeichern und dann durchgehen.

Ooops, so hatte ich das noch gar nicht gesehen. Danke für die Info.

if(false == pInput.onchange()) return false;
// Hier rufst du die Methode "onchange" des Inputfeldes auf.
Warum dieses? Hast du dem Formularfeld denn eine Methode definiert?

Ja, latürnich. pInput.onchange() führt dazu, daß die zugeordnete Funktion zum Testen des Inputs aufgerufen wird. Sogar mit dem im Funktionsaufruf deklarierten Parametern (in diesem Fall this - zur Übergabe eines Zeigers auf das Element).

Also <input type="text" name="hase" onChange="return TestFkt(this)">
Hmm, ich glaube, ich weiss jetzt, warum es nicht geht. Ich hatte im Funktionsaufruf das return weggelassen.;-((((

Mit null!=pInput.onchange wird lediglich geprüft, ob ein onChange-Handler überhaupt definiert ist. So weit, so gut. Nur mit der Rückgabe des Resultates der aufgerufenen Funktion klappt es leider nicht.

was ist "aus dem INPUT direkt"?

Eingabe/Änderung im INPUT Feld, so daß der onChange-Handler feuert.

Grüsse

Claus Peter