Erwin: dynamisch erzeugter Button arbeitet nicht im IE

Hallo an alle,

folgender Code arbeitet in allen getesteten Browsern (FF,Opera,Chrome) außer dem IE(hier 7) erwartungsgemäß, indem es beim Click auf den ersten Button den zweiten erzeugt und den Alert beim Klick auf den neu erzeugten Button auslöst. Beim IE wird zwar Der Button erzeugt, der Alert jedoch nicht ausgeführt.

Nun meine Fragen:

1. Wie kann man den IE dazu bewegen, die im dynamisch erzeugten Button hinterlegte Funktion auszuführen

2. Warum verhält sich der IE an dieser Stelle anders bzw. was interpretiert der IE hier an deser Stelle anders als die anderen Browser.

Vielen Dank vorab

Gruß
Erwin

<script type="text/javascript">  
  
function AddSection() {  
           wokform = document.getElementById('workform');  
newlinebutton = document.createElement('input');  
newlinebutton.setAttribute('OnClick',"alert('hallo');");  
newlinebutton.setAttribute('type','button');  
newlinebutton.setAttribute('value','mkhallo');  
workform.appendChild(newlinebutton);  
  
};  
</script>
<form id="workform" action="" method="post">  
<input value="hinzu" onclick="AddSection();" type="button">  
</form> 
  1. newlinebutton.setAttribute('OnClick',"alert('hallo');");

    http://redaktion.selfhtml.org/selfhtml-preview/javascript/einbindung.html#fehler-code-als-string

    newlinebutton.onclick = function () {
       alert("hallo");
    };

    Mathias

    1. Danke für Beides:
      1.

      newlinebutton.onclick = function () {
         alert("hallo");
      };

      funktioniert

      2.

      http://redaktion.selfhtml.org/selfhtml-preview/javascript/einbindung.html#fehler-code-als-string

      Wird mir helfen diesen Fehler in Zukunft zu vermeiden

      Gruß und schönes Wochenende

      Erwin

  2. <script type="text/javascript">

    Das ist kein JavaScript-Code.

    wokform = document.getElementById('workform');
    workform.appendChild(newlinebutton);

    Fehler beim Abtippen?

    newlinebutton.setAttribute('OnClick',"alert('hallo');");
    newlinebutton.setAttribute('type','button');
    newlinebutton.setAttribute('value','mkhallo');

    Vermeide [ref:self812;javascript/objekte/node.htm#set_attribute@title=setAttribute]. Vermeide, in Skripten Eventhandler via HTML-Attribut zu verteilen, eine saubere Lösung ist das Zuweisen einer Funktion an die entsprechende Objekteigenschaft.

    --
    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
    Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|