dynamisch erzeugter Button arbeitet nicht im IE
Erwin
- javascript
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>
newlinebutton.setAttribute('OnClick',"alert('hallo');");
http://redaktion.selfhtml.org/selfhtml-preview/javascript/einbindung.html#fehler-code-als-string
newlinebutton.onclick = function () {
alert("hallo");
};
Mathias
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
<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.