- Setze mal ein leeres Formular mit ID ins Dokument.
- Schreibe onclick komplett klein.
- Verwende zusaetzlich outerHTML, um dem IE die DOM-Manipulation beizubringen.
Testbeispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Tesdt by TM 03/03</title>
<script language="JavaScript" type="text/javascript">
<!--function Test1()
{
var button1=document.createElement("button");
var button1text=document.createTextNode("Bearbeiten");
button1.setAttribute("type","button");
button1.setAttribute("onclick","irgendeine_funktion('Test');");
button1.setAttribute("name","bearbeiten");
button1.appendChild(button1text);
document.getElementById("abc").appendChild(button1);
if(document.getElementById("abc").outerHTML)document.getElementById("abc").outerHTML=document.getElementById("abc").outerHTML;
}function irgendeine_funktion(parameter)
{
alert(parameter);
}//-->
</script>
</head>
<body onload="Test1()">
<form id="abc" action="">
</form>
</body>
</html>MfG, Thomas
Dein Beispiel funktioniert wunderbar. Danke. Hierbei ist folgende Zeile wichtig:
if(document.getElementById("abc").outerHTML)document.getElementById("abc").outerHTML=document.getElementById("abc").outerHTML;
Ein Problem ist bei mir, daß ich immer Laufzeitfehler bekomme. Gut diesen kann ich mit setTimeout beheben. Leider funktioniert die Geschichte immer noch nicht in meinem Konstrukt, da ich auch eine Tabellenzeile mit neuen Zellen erzeuge und der Button innerhalb der Zelle dargestellt wird. Darstellung funktioniert fabelhaft. Der Aufruf aber immer noch nicht. Vielleicht hast du noch eine Idee wo ich die ...outerHTML anweisung plazieren sollte. Ansonsten probiere ich noch ein bißchen weiter.
Nochmals besten Dank
Andreas