Moin Moin,
vielleicht vorab um kurz zu verdeutlichen was ich vorhabe:
Da ich relativ viele Formularelemente habe und ungern in meinem Template die HTML Tags mit JavaScript überflute, lege ich die JavaScript Events beim laden der Seite auf die ganzen Formelemente - so wie hier für ein paar Radio-Buttons:
for( var i=0; i < document.foo.elements.length; i++ )
{
document.getElementsByName("myFoo")[i].onClick = barNow;
}
Funktioniert tadellos und mit den vier Zeilen kann ich (übertrieben gesagt) hunderte Buttons auf einen Klick reagieren lassen.
So. Aber wieso will es mir nicht gelingen das auch bei einem <select> mit onChange zu machen?
ein <select id="myFoo" onChange="barNow();">
funktioniert.
Wenn ich es aber z.B. mit
document.getElementById("myFoo").onChange = barNow();
versuche führt er es genau einmal aus - beim laden :(
Ich spiele seit 3 Tagen damit und komm nicht weiter. Habe es auf die option-elemente gelegt, mit getElementsByName angesprochen, nicht direkt von sondern über das <form> angesprochen aber es interessiert in schlicht nicht. Im www findet man zwar unzählige Sachen über onChange bei <select> aber alle eben im Tag und nicht "von außerhalb" ;)
Was übersehe ich? Was mache ich falsch?
Freue mich über jede Antwort =)
Dank und Gruß,
L3