Andreas Frey: Problem mit onChange() und ß/ss

Hallo Leute,
ich glaube ich habe einen Bug des IE6 entdeckt. Ich habe ein Texteingabefeld in einem Formular. Dieses enthält den Eventhändler onChange(). Nun habe ich ein Problem, das Feld ist mit Eßlingen vorbelegt. Ändert man nun ausschlisslich das "ß" in ein "ss", so feuert der onChange-Handler nicht. Alle anderen Änderungen werden problemlos erkannt. Nun frage ich mich natürlich warum. Falls jemand ein ähnliches Problem auch schon mal hatte und eine Lösung kennt, dann bitte melden. Ach ja ich verwende Win2000(deutsch) und den deutschen Internet Explorer.

Hier mal den Code zum selber probieren:

<html>
<body>
<form>
Onchange:
<input type="text" id="abbrev" name="abbrev" value="Eßlingen" onchange="alert('changed');">
<br>
Only to get focussed
<input type="text" id="abbrev2" name="focus" value="only to get focused">
</form>
</body>
</html>

Danke für eure Hilfe

ps: ich verscueh gerade etwas mit dem Zeichensatz, dies scheint aber keine Lösung für mein Problem zu bieten.

  1. Sorry, Leute
    hier mal den Code der auch kopierbar ist:

    <html>
    <body>
    <form>
    Onchange: <input type="text" id="abbrev" name="abbrev" value="Eßlingen" onchange="alert('changed');">
    <br>
    Only to get focussed <input type="text" id="abbrev2" name="focus" value="only to get focused"> </form>
    </body>
    </html>

    Danke für dei Hilfe

  2. Hallo,

    Microsoft wird sagen: "It's not a bug, it's a feature."

    Probier vielleicht mal das ß mit ß zu maskieren,
    vielleicht behandelt der IE es dann anders.

    Schönen Gruß

    Rainer

    1. Microsoft wird sagen: "It's not a bug, it's a feature."

      Das kann schon sein, nur werden die damit wohl alleine sein

      Probier vielleicht mal das ß mit ß zu maskieren,
      vielleicht behandelt der IE es dann anders.

      Da es in einem Formularfeld drinstetht geht das nicht, bzw. es macht keinen Sinn, denn dann müsste jeder immer ß eingeben. und das kann man von keienm Benutzerverlangen.
      Aber danke mal für den Rat

      1. Hallo,

        Probier vielleicht mal das ß mit ß zu maskieren,
        vielleicht behandelt der IE es dann anders.
        Da es in einem Formularfeld drinstetht geht das nicht, bzw. es macht keinen Sinn, denn dann müsste jeder immer ß eingeben. und das kann man von keienm Benutzerverlangen.

        Nein.
        Schau Dir bitte mal http://selfhtml.teamone.de/html/referenz/attribute.htm#input, und klicke bei "Value" auf den nebenstehenden Link (#CDATA).
        Der Erklärung kannst Du entnehmen, daß in dem Formularfeld keineswegs ß buchstäblich angezeigt werden wird, sondern ß.
        Oder habe ich jetzut noch etwas übersehen?

        Schönen Gruß

        Rainer

        1. Hallo Rainer und danke für deine Hilfe,

          ich hab mir den Link mal angeschaut und muss leider gestehen, das ich nicht glaube das mir das helfen kann. Ich denke das Problem kommt vom Betriebssystem.
          Nochmal zur Funktionsweise: Wenn der Inhalt des Feldes vwerändert wird, soll das Formular übertragen werde. Nun geht das allerdings nicht, wenn man aus ß ein ss macht, und ich finde nach wie vor keine Lösung. Vielleicht habe ich den Link, den du mir geschickt hast auch nicht richtig verstanden. Hoffe du kannst mir nochmal helfen.

          Nein.
          Schau Dir bitte mal http://selfhtml.teamone.de/html/referenz/attribute.htm#input, und klicke bei "Value" auf den nebenstehenden Link (#CDATA).
          Der Erklärung kannst Du entnehmen, daß in dem Formularfeld keineswegs ß buchstäblich angezeigt werden wird, sondern ß.
          Oder habe ich jetzut noch etwas übersehen?

          1. Hallo Andreas,

            ich meinte damit nur, daß wenn Du ß statt ß im value deines Feldes schreibst,
            auf jeden Fall für den Benutzer dort ein ß steht.
            Wie wird das Formular denn verarbeitet?

            Schönen Gruß

            Rainer

            1. Hallo Rainer,

              Wie wird das Formular denn verarbeitet?

              Die Daten werden verwendet, um ein externes PDF zu generieren, also nichts womit ich die HTML-Codierung verwenden kann. Ich hab schon mal den IE aufm Mac getestet, der erkennt den Unterschied zwischen ß und ss ohne zu murren. Ich hab auch schon mal Sprachen im OS anders eingestellt, allerdings kann ich dann keine deutschen Sonderzeichen eingeben :-)
              Ich weiss langsam nicht mehr was ich noch machen soll.

              Danke mal und grüße aus dem Schwarzwald

              1. Huhu Andreas

                es scheint in der Tat ein interessantes IE-Feature zu sein.

                Ich weiss langsam nicht mehr was ich noch machen soll.

                Wenn Du das unbedingt für den IE brauchst musst Du Dir
                wohl eine eigene Funktion bauen, welche den Vergleich durchführt.
                Die könntest Du ja mit 'OnBlur' ansteuern.

                Aber IMHO lohnt es den Aufwand nicht, da die "richtigen" Browser es ja können und es doch ein sehr theoretischer Fall ist, dass gerade nur
                das "ß" in "ss" geändert wird, oder umgekehrt.

                Viele Grüße

                lulu