Senior_DingDong: IE 7 | Passwörter vergleichen schlägt fehl bei gleichem Passwort

Hallo,

ich habe ein Formular welches ich mit JavaScript/AJAX schon auswerten möchte, bevor die Formulardaten an den Server geschickt werden.
Die Prüfung ob der Username vergeben ist funktioniert, die Prüfung ob die E-Mailadressen identisch sind und auch tatsächlich die Elemente einer E-Mail enthalten sind funktioniert perfekt. Auch der ResponseText wird 1A ausgegeben.

Lediglich bei dem Passwortvergleich passiert etwas seltsames, was nur im Internet Explorer 7 passiert. Ich trage in das Feld mit dem Namen "password" den Text "123" ein. In das Feld "passwordretype" gebe ich auch "123" ein. Der ResponseText sieht so aus, dass ein Kreuz kommt, was dafür steht, dass die Strings wohl nicht identisch sind.

Nun habe ich mir die Passwörter ausgeben lassen. In "password" ist 123 drin und in "passwordretype" ist "Passwort" als String enthalten. Dabei ist nirgendwo im Quellcode die Phrase "Passwort"(mit T am Ende) enthalten und die Eingabe in das Feld von mir war 123. Wie kommt sowas zustande?

Hier noch der Quellcode:

  
var register_password;  
var register_password_confirm;  
var state;  
  
function check_password(register_password, register_password_confirm)  
{  
  
  
  
    if(register_password == "")  
    {  
  
    }  
    else  
    {  
        if(register_password_confirm == "")  
        {  
  
        }  
        else  
        {  
            if(register_password == register_password_confirm)  
            {  
                state = 1;  
            }  
            else  
            {  
                state = 0;  
            }  
  
            init_ajax();  
  
            if (ajax_request_object != null)  
            {  
                gui_guard(2, state);  
                //var searchusername = document.getElementById('register_username').value;  
                ajax_request_object.open("GET", "../elements/components/com_register/ajax_response/ajax_response_checkpassword.php?state="+state, true);  
                ajax_request_object.onreadystatechange = ajax_response_checkpassword;  
                ajax_request_object.send(null);  
            }  
        }  
    }  
}  
  
function ajax_response_checkpassword()  
{  
    if (ajax_request_object.readyState == 4)  
    {  
        document.getElementById("ajax_request_password").innerHTML =  
        ajax_request_object.responseText;  
    }  
}  

Hat jemand eine Idee woran das liegen kann? Komme echt nicht drauf woran es liegen könnte.

Senior_DingDong

  1. Hellihello

    Hat jemand eine Idee woran das liegen kann? Komme echt nicht drauf woran es liegen könnte.

    am Forumlar, und daran, dass du den Fehler zum Testen noch nicht eigegrenzt hast?

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. Wie ich geschrieben hatte, wird in den Variablen beim Vergleich in
      password = 123
      passwordretype = Passwort

      gespeichert. Was aber so nicht eingegeben wurde in die Felder von mir.

      Wie weit soll ich das denn noch eingrenzen? Wenn ich eine Idee hätte was dies verursachen könnte, würde ich von ganz allein es weiter eingrenzen.

      Hellihello

      »» Hat jemand eine Idee woran das liegen kann? Komme echt nicht drauf woran es liegen könnte.

      am Forumlar, und daran, dass du den Fehler zum Testen noch nicht eigegrenzt hast?

      Dank und Gruß,

      frankx

      1. Hellihello

        Wie ich geschrieben hatte, wird in den Variablen beim Vergleich in
        password = 123
        passwordretype = Passwort

        gespeichert. Was aber so nicht eingegeben wurde in die Felder von mir.

        Wie weit soll ich das denn noch eingrenzen? Wenn ich eine Idee hätte was dies verursachen könnte, würde ich von ganz allein es weiter eingrenzen.

        Wo ist Dein Formular? Übertrage das doch erstmal ganz schlicht an den Server.

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. Hellihello

          »» Wie ich geschrieben hatte, wird in den Variablen beim Vergleich in
          »» password = 123
          »» passwordretype = Passwort
          »»
          »» gespeichert. Was aber so nicht eingegeben wurde in die Felder von mir.
          »»
          »» Wie weit soll ich das denn noch eingrenzen? Wenn ich eine Idee hätte was dies verursachen könnte, würde ich von ganz allein es weiter eingrenzen.

          Wo ist Dein Formular? Übertrage das doch erstmal ganz schlicht an den Server.

          Dank und Gruß,

          frankx

          Drück ich mich so bescheuert aus?

          Ich will das Formular prüfen, bevor ich es an den Server sende. Was nützt es mir da das Formular abzusenden? Das ist doch der Sinn von AJAX bzw. JavsScript.

          Und im Mozilla Firefox klappt das ganze. Dort liest er die zwei Felder(Password, Passwordretype) aus und vergleicht die Werte miteinander und erkennt, wenn man in beide Felder z.B. 123 eingibt, dass diese Werte identisch sind. Nur der IE liest bei "Passwort" 123 und bei "Passwordretype" liest er Passwort ein. Die sind natürlich nicht gleich. Ich frag mich, wo dieses "Passwort" herkommt, denn es ist so im Quellcode nirgendwo eingetragen bzw. wurde von mir nicht eingegeben in das Feld.

          1. Heyho!

            Eben deshalb solltest Du dein Formular prüfen. Scheinbar schickt das ja falsche Daten. Was passiert denn ohne Ajax? Wenn das klappt, bleibt die Frage: Was machst Du mit Ajax, daß die Werte verändert. Der Serverseitige Code scheint ja nichts dafür zu können, wenn Du schon festgestellt hast, das die Werte so übertragen werden...

            --
            "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                  - T. Pratchett
            1. Heyho!

              Eben deshalb solltest Du dein Formular prüfen. Scheinbar schickt das ja falsche Daten. Was passiert denn ohne Ajax? Wenn das klappt, bleibt die Frage: Was machst Du mit Ajax, daß die Werte verändert. Der Serverseitige Code scheint ja nichts dafür zu können, wenn Du schon festgestellt hast, das die Werte so übertragen werden...

              Sagtmal, bin ich der erste der ein Formular VOR dem Absenden überprüfen will? Ich weiß ich weiß... alle die hier antworten machen das freiwillig und keiner muss antworten, aber langsam kommts mir hoch immer wieder den gleichen Mist von vorn erzählen zu müssen.

              ---

              Das Formular enthält unter anderem 2 Felder, namens "password" und "passwordretype". Die darin eingegebenen Werte sollen, bei verlassen einer dieser beiden Felder überprüft werden.

              In beide Felder trage ich die Zahlenfolge "123" ein. Das Event wird ausgelöst und er vergleicht die beiden Werte miteinander. In Mozilla klappt das und er baut eine Verbindung zum Server mittels AJAX HttpRequest auf. Fazit: In Mozilla wird, wenn in beiden Feldern das gleiche drinsteht ein Häkchen rechts von dem Feld "passwordretye" angezeigt.
              Führe ich das gleiche im InternetExplorer 7 durch, dann wird mir ein rotes Kreuz rechts neben "passwordretype" angezeigt. Und das obwohl die Werte identisch sein müssten.
              Habe dies überprüft und mir mal die Werte ausgeben lassen die miteinander verglichen werden.

              in "password" steht dann: 123
              in "passwordretype" steht dann: Passwort   (man bemerke die deutsche Variante!)

              im gesamten Quellcode vom Formular ist nirgendwo von "Passwort" sondern immer nur von "password" die Rede. Nirgendwo wird ein Wert beim Aufbau des Formulares eingetragen. Erst der Benutzer gibt den Text in "passwordretype" ein und offensichtlich passiert da etwas, was ich als Programmierer nicht verstehen kann. Wenn ich das überprüfen könnte, würde ich hier nicht schreiben.

              Nur nochmal zum Mitmeißeln: In Mozilla klappt es so wie ich es haben will.. in Internet Explorer 7 nicht. Das Javascript ist wohl anscheinend so richtig, nur macht der IE 7 wieder etwas, wofür ich die Programmierer vom IE mal wieder ** ach lassen wir das...

              Senior_DingDong

              1. Wer wissen möchte, wie ich das Problem gelöst habe: jswelt

                Habe dort auch meinen Quellcode hinterlegt, falls es euch weiterhilft.

                1. Wer wissen möchte, wie ich das Problem gelöst habe: jswelt

                  Habe dort auch meinen Quellcode hinterlegt, falls es euch weiterhilft.

                  Aber wirklich helfen, konnte man dir dort auch nicht ;).

                  Der IE hat immer wieder merkwürdige Eigenarten. Und nicht immer sind Sie allgemein bekannt. Ich muss zugeben, darauf hätt ich auch keine Antwort gewusst, aber danke, das du deine Lösung geposted hast. Man weiß nie, wann man sowas gebrauchen kann.

                  PS: FF und IE sind wie zwei Kinder. Und jeder der Kinder hat, weiß wie schwer es ist, beiden Geschwistern alles recht zu machen.