Matthias Apsel: IE11-Fehler

Hallo alle,

falls mal jemand drüber stolpert: Im IE-11 funktioniert folgendes JavaScript nicht falls der input-type number ist:

if (typeof newNode.type !== 'undefined' && 
           newNode.type != 'radio' && 
           newNode.nodeName != 'OPTION') {
   newNode.removeAttribute('value');
}
// does not work in IE11, if newNode.type is 'number'

Stattdessen geht aber:

if (typeof newNode.type !== 'undefined' && 
           newNode.type != 'radio' && 
           newNode.nodeName != 'OPTION') {
   newNode.setAttribute('value','');
}

Bis demnächst
Matthias

--
Du kannst das Projekt SELFHTML unterstützen,
indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
  1. Hallo Matthias,

    das ist nicht ganz richtig - der IE entfernt das value-Attribut aus dem HTML durchaus. Das sieht man im DOM Explorer des IE.

    Die Änderung spiegelt sich nur nicht im value-Property des HTMLInputElement Objekts wieder, und ich habe keine Ahnung, was die Spec dazu sagt.

    Das ist auch nicht nur bei type="number" so, sondern auch bei type="text".

    Was mich viel mehr erstaunt: trotz type="number" kann ich Buchstaben eingeben und sie werden bei Submit auch an den Server gesendet. Dabei soll der IE doch type="number" schon ab Version 10 unterstützen. Hä⁉️

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo Rolf,

      Was mich viel mehr erstaunt: trotz type="number" kann ich Buchstaben eingeben und sie werden bei Submit auch an den Server gesendet.

      warum auch nicht? Schließlich ist 0xFF06 doch auch eine Zahl, und 1.41E+06 auch. :-)

      Live long and pros healthy,
       Martin

      --
      Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
      1. Was mich viel mehr erstaunt: trotz type="number" kann ich Buchstaben eingeben und sie werden bei Submit auch an den Server gesendet.

        warum auch nicht? Schließlich ist 0xFF06 doch auch eine Zahl, und 1.41E+06 auch. :-)

        Jepp.

        --
        Stur lächeln und winken, Männer!
    2. Hallo Rolf B,

      das ist nicht ganz richtig - der IE entfernt das value-Attribut aus dem HTML durchaus. Das sieht man im DOM Explorer des IE.

      Das kann ich nicht bestätigen.

      Das ist auch nicht nur bei type="number" so, sondern auch bei type="text".

      Das kann ich auch nicht bestätigen.

      Getestet mit einem echten IE11 und nicht etwa einem durch edge emulierten.

      Bis demnächst
      Matthias

      --
      Du kannst das Projekt SELFHTML unterstützen,
      indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
      1. Hallo Matthias,

        ja, einen echten IE 11 habe ich auch verwendet. So echt wie ihn Win10 nun mal anbietet. Sehr merkwürdig.

        Version 11.778.18362.0
        Updateversionen: 11.0.185 (KB4550905)
        Produkt-ID 00150-20000-00003-AA459

        (c) 2015 Kleinweich Verköperung.

        KV4550905 ist „Kumulatives Sicherheitsupdate für Internet Explorer: 14. April 2020“. Also ganz frisch aufgehübscht.

        Vorher:

        Nachher (nach Klick auf "remove" Button):

        (ey, wasn das, musste den Beitrag bearbeiten und das Bild nochmal einfügen, bevor es gezeigt wurde) Rolf

        --
        sumpsi - posui - obstruxi
        1. Hallo Rolf B,

          ja, einen echten IE 11 habe ich auch verwendet. So echt wie ihn Win10 nun mal anbietet. Sehr merkwürdig.

          Ich habe ein POST-Formular. Vielleicht liegt es daran.

          Bis demnächst
          Matthias

          --
          Du kannst das Projekt SELFHTML unterstützen,
          indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
          1. Hallo Matthias,

            POST ändert nichts am Umgang des Buttons mit dem <input>. Hab ich ausprobiert.

            Rolf

            --
            sumpsi - posui - obstruxi