Antje Hofmann: Eventhandler für Klasse definieren

Beitrag lesen

Hallo Lutz

stimmt leider nicht ganz, weil ich meinte mit Klasse nicht den im Zusammenhang mit objektorientierter Programmierung verwendeten Begriff, sondern den mit der Style-Formatierung von HTML-Tags verwendeten Begriff. (Ist aber auch ein Durcheinander!)

im IE und im NN6 geht es so

<form action="">
 <input class="abc" name="a1"></input>
 <input class="abc" name="a2"></input>
 <input name="a3"></input>
 </form>

<script type="text/javascript">
 <!--
 function geht_es()
 {alert('ja');}

for (i =0;i< document.forms[0].length;i++)
 {
 if (document.forms[0][i].className=="abc") document.forms[0][i].onchange=geht_es;
 }

//-->
 </script>

Du fragst eben einfach nur die Elemente ab. Unter Opera 5.12 geht es nur wenn er sich als IE ausgibt (was für ein Schwachsinn).

Alternative:
du versteckst den Klassennamen im Elementenamen und fragst diesen ab.

<form action="">
 <input class="abc" name="abc1"></input>
 <input class="abc" name="abc2"></input>
 <input name="a3"></input>
 </form>

<script type="text/javascript">
 <!--
 function geht_es()
 {alert('ja');}

for (i =0;i< document.forms[0].length;i++)
 {
 if (document.forms[0][i].name.indexOf("abc")>-1)  document.forms[0][i].onchange=geht_es;
 }

// -->
 </script>

Dann machen  auch Opera und Netscape 4 mit.

Viele Grüße

Antje