Hallo,
ich habe ein Formular das ich um einen onsubmit-Handler erweitern will wenn der User JS zulässt.
Hier der etwas vereinfachte Kern:
<form id="formEl" method="post" action="another.html">
<input type="text" value="Test" />
<input type="submit" name="submit" value="Go" />
</form>
<script type="text/javascript">
var formElement = document.getElementById("formEl");
if (formElement != null)
{
var onsubmitAttribute = document.createAttribute("onsubmit");
onsubmitAttribute.nodeValue = 'alert("Hier"); return false;';
formElement.setAttributeNode(onsubmitAttribute);
}
</script>
In Firefox, Opera und Safari funktioniert das, der IE (6 und 7) ignoriert das onsubmit einfach und ruft another.html per POST auf.
Sehe ich mir nach dem Setzen des Attributs dieses per formElement.onsubmit oder formElement.getAttribute("onsubmit") an, steht auch das Passende drin.
Schreibe ich das onsubmit-Attribut aber im HTML-Code ins formular-Element, macht auch der IE was er soll. Die Lösung habe ich trotz Suche in Selfhtml und im Forum nicht gefunden - wahrscheinlich die falschen Begriffe benutzt. Wäre schön wenn mir jemand von euch weiterhelfen könnte.
Grüße,
Frank