erstellter Button funktioniert nicht?

topf

Mitglied
Hallo.

In einem Script brauch ich öfter die Neuerstellung eines buttons.
Deshalb habe ich das in eine Funktion ausgelagert.

Folgendes ist bei rumgekommen.

HTML:
function newButton(id, value, onClick) {
var button;
	button = document.createElement("input");
	button.setAttribute("type", "button");
	button.setAttribute("value", value);
	button.setAttribute("onClick", onClick);
return button;
}

Der Aufruf läuft so:
HTML:
var bt = newButton('bt_add', '+', 'funktion_ausfuehren()');


Ähm, wieder ein tolles Problem.

Im Mozilla läuft alles problemlos, und der IE macht faxen.

Es gibt keine Fehlermeldung.

;//
 
Hi,

ich gehe einfach davon aus, dass der Button korrekt ins Dokument eingebunden wird. Im IE wird aber die
übergebene Funktion nicht ausgeführt.

Versuch mal die Funktion wie folgt einzubinden:
Code:
button.onclick = new Function("fx", onClick);
Vielleicht hilft das weiter.

Ciao
Quaese
 
Hi,

ich gehe einfach davon aus, dass der Button korrekt ins Dokument eingebunden wird. Im IE wird aber die
übergebene Funktion nicht ausgeführt.

Versuch mal die Funktion wie folgt einzubinden:
Code:
button.onclick = new Function("fx", onClick);
Vielleicht hilft das weiter.

Ciao
Quaese

Das Problem stimmt, aber irgendwie versteh ich deinen Quellcode nicht so ganz.
 
Hi,

weis Deinem Button die onclick-Funktion nicht über die setAttribute-Methode zu. Stattdessen wird
der Aufruf einem neuen Funktionsobjekt übergeben.
Code:
function newButton(id, value, onClick) {
  var button;
  button = document.createElement("input");
  button.setAttribute("type", "button");
  button.setAttribute("value", value);
  button.onclick = new Function("fx", onClick);
  return button;
}
Ciao
Quaese
 
Hmm, also funktionieren tut dies.

Danke dafür.
Schade, dass ich dazu einfach nix gefunden habe, sondern einen Thread aufmachen musste.

Naja, vllt habe ich javascript ja irgendwann mal drauf ;)

Gruß Lars
 

Neue Beiträge

Zurück