Frank Weber: dynamisch JS-Code einfügen im IE

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

  1. 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.

    Gib mal deinen Variablen Namen eine andere Form
    var form_element

    Man weiss nie wann man da auf einen bereits reservierten Objektnamen tritt.

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
       <°)))o><                      ><o(((°>o
  2. Hallo,

    var onsubmitAttribute = document.createAttribute("onsubmit");
          onsubmitAttribute.nodeValue = 'alert("Hier"); return false;';
          formElement.setAttributeNode(onsubmitAttribute);

    Gleiches Problem wie hier:
    https://forum.selfhtml.org/?t=174461&m=1145987

    Mathias