Auszug:
...getElementsByName("speichern")[i].onclick = new Function ("Speichern", "");...
new Function kann man, muss man aber nicht. Das ist sinnvoll, wenn du zur Laufzeit aus einem String eine Funktion erzeugen willst und ich vermute mal du willst es nicht.
Daher ist die schon von wahsaga gezeigte Variante sinnvoller:
...getElementsByName("speichern")[i].onclick = function(e)
{
// tu_was
}
Dies funktioniert auch soweit. Es gibt da nur zwei Probleme:
- Wie Übergebe ich einen Parameter an Speichern ()?
Kannst du in dem obigen Fall ohne Probleme, allerdings willst du das gar nicht, sondern du willst vermutlich auf eine zur Laufzeit vorhandene Variabel in der Funktion zugreifen. Da käme es drauf an zu wissen, was du genau willst.
- Um die Buttons zu manipulieren öffne ich eine anderes Fenster (PHP-Script, welches Werte aus SQL-Datenbank holt).
alert (document.getElementsByName("speichern")[1].getAttribute('onclick')); gibt nur [object] zurück. Da gibt es wohl ein Problem mit der Funktionsreferenz?!
Da gibt es eher ein Problem mit den von dir verwendeten Browser. Der IE ist nur sehr bedingt geeignet um etwas komplexere JS zu entwickeln, verwende einen Mozilla Browser.
Struppi.
Javascript ist toll (Perl auch!)