Emanuel: input feld für passwort

Hallo Leute!

Folgendes, ich habe einen normalen Loginbereich mit input feldern für Benutzername und Passwort. Um Platz zu sparen, habe ich daneben nicht jeweils hingeschrieben welches Feld was ist, sondern als default value direkt in die Felder gesetzt. Dabei hab ich mit dem Passwortfeld ein Problem:

<input name="pass" onFocus="if(this.value=='Passwort'){this.value=''; this.type='password';}" onblur="javascript: if(this.value==''){this.type='text'; this.value='Passwort';}else{}" type="text" value="Passwort">

Beim Passwortfeld wird u.a. der 'type' verändert, damit man "Passwort" lesen kann, aber dann eben das eingegebene Passwort maskiert wird. Es funktioniert an und fürsich alles so wie es soll, aber wenn ich z.b. doppelt ins leere Passwortfeld klicke, dann bekomm ich eine Auswahlliste mit bereits verwendeten Wörtern... und das ist schlecht*g*
Es denke es hängt damit zusammen, das ich immer den 'type' von 'text' auf 'password' ändere und zurück.
Weiß jemand wie ich der Auswahlliste entgegenwirken kann?

MfG Emanuel

  1. Ich nochmal, hab mich geirrt, es kommt keine Auswahlliste bei einem Doppelklick, sondern bei folgender Szenarie:
    Ich verwende 'test' als gültiges Passwort und kann mich damit einloggen.
    Ich lade jetzt die Seite neu, bin nicht eingeloggt und schreibe nur ein 't' ins Passwortfeld. Jetzt lösche ich das 't wieder weg und jetzt wird die Auswahlliste angezeigt wo 'test' drinsteht.
    funktioniert mit jedem Wort, egal ob man sich einloggen kann oder nicht.

    So, ich hoffe das war verstänlich!

    MfG Emanuel

  2. Hallo Emanuel,

    es gibt für Passwörter ein extra <input>
    Versuch es anstatt mit type="text" mal mit type="password"!

    <input type="password" size="25" maxLength="50" name="txtPass" value="">

    Viele Grüße

  3. hi,

    Beim Passwortfeld wird u.a. der 'type' verändert, damit man "Passwort" lesen kann, aber dann eben das eingegebene Passwort maskiert wird.

    Halte ich generell für riskant - type ist als readonly definiert.

    Es denke es hängt damit zusammen, das ich immer den 'type' von 'text' auf 'password' ändere und zurück.
    Weiß jemand wie ich der Auswahlliste entgegenwirken kann?

    autocomplete deaktivieren?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hallo,

      @wahsaga:

      Halte ich generell für riskant - type ist als readonly definiert.

      Wieso riskant? type wird durch das JS beim anklicken / aktivieren des Inputfelds auf 'password' gesetzt.

      autocomplete deaktivieren?

      Danke, das ist es*g*
      Wusste nicht, dass es sowas gibt.

      @MarcZ:

      Versuch es anstatt mit type="text" mal mit type="password"!

      der type wird sowieso, wie ich oben schon geschrieben habe, durch JS auf 'password' gesetzt. Ich habs nur am Anfang auf 'text', damit man "Passwort" im Feld als default Value lesen kann. (Damit sich User, die nicht wissen wo was reingeschrieben werden soll auskennen)

      MfG Emanuel

      1. hi,

        Halte ich generell für riskant - type ist als readonly definiert.

        Wieso riskant?

        Das schrieb ich doch gerade.

        type wird durch das JS beim anklicken / aktivieren des Inputfelds auf 'password' gesetzt.

        Ja - wenn, und nur wenn, der Browser das - Abweichend von der Definition in DOM Level 1 - auch zulässt.
        Wenn nicht, dann bleibt dein Textfeld ein Textfeld - und ich als Nutzer müsste mein Passwort im Klartext sichtbar eintippen (oder auf die Nutzung deiner Seite verzichten).

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo,

          (Änderung der type-Eigenschaft)
          Ja - wenn, und nur wenn, der Browser das - Abweichend von der Definition in DOM Level 1 - auch zulässt.

          Wird die Definition eigentlich irgendwann mal geändert? Denn wenn man mit den DOM-Methoden neue Input-Elemente erzeugen will, kommt man ja eigentlich nicht drum herum, die type-Eigenschaft zu setzen (die einzige Alternative wäre setAttribute()).

          mfg. Daniel

        2. Hallo,

          Wenn nicht, dann bleibt dein Textfeld ein Textfeld - und ich als Nutzer müsste mein Passwort im Klartext sichtbar eintippen (oder auf die Nutzung deiner Seite verzichten).

          Hm, miese Sache.
          Gut zu wissen, was für Probleme auftreten können (werden).
          Danke euch!

          MfG Emanuel

  4. Hallo,

    Folgendes, ich habe einen normalen Loginbereich mit input feldern für Benutzername und Passwort. Um Platz zu sparen, habe ich daneben nicht jeweils hingeschrieben welches Feld was ist, sondern als default value direkt in die Felder gesetzt.

    Halte ich für wenig sinnvoll. Wieso hast du so wenig Platz?

    Beim Passwortfeld wird u.a. der 'type' verändert, damit man "Passwort" lesen kann, aber dann eben das eingegebene Passwort maskiert wird.

    Halte ich auch für nicht sinnvoll. Mal abgesehen davon, dass es nicht standardkonform ist, sehe ich das Problem, dass Clients ohne Javascript das eigentliche Passwortfeld dann nur als Klartext anzeigen.

    Jonathan

    --
    Selfcode: ie:( fl:{ br:> va:) ls:& fo:) rl:? ss:} de:> js:| ch:? mo:} zu:)
    1. Hallo,

      Halte ich für wenig sinnvoll. Wieso hast du so wenig Platz?

      Wenig Platz ist vielleicht übertrieben ausgedrückt, aber ich wollts designtechnisch einfach mal so probieren und find es nicht schlecht.

      Halte ich auch für nicht sinnvoll. Mal abgesehen davon, dass es nicht standardkonform ist, sehe ich das Problem, dass Clients ohne Javascript das eigentliche Passwortfeld dann nur als Klartext anzeigen.

      Nun, da gäbs ja dann zwei Möglichkeiten. 1. Die Seite wird nur angezeigt, wenn der User JS aktiviert hat oder 2. kann man da vielleicht mit <noscript> arbeiten.
      Nicht standardkonform? Ich kann leider nicht sagen was alles standardkonform ist und was nicht, aber ich denke (dachte) mir ich kann mit JS genau solche Sachen programmieren um eben meine Seite "dynamischer" zu gestalten.

      MfG Emanuel

      1. Hallo,

        Wenig Platz ist vielleicht übertrieben ausgedrückt, aber ich wollts designtechnisch einfach mal so probieren und find es nicht schlecht.

        Ist aber nicht gerade benutzerfreudlich. In welcher anständigen (Windows-)Anwendung siehst du z.B. solch ein Verhalten? Es ist sinnvoller, wenn du den Benutzern vertrute Bedienelemente gibst.

        Nun, da gäbs ja dann zwei Möglichkeiten. 1. Die Seite wird nur angezeigt, wenn der User JS aktiviert hat oder 2. kann man da vielleicht mit <noscript> arbeiten.

        Ersteres ist jawohl noch schlechter. Erst nicht Javascript-Fähigen Browsern das eingeben erschweren und jetzt nicht-Javascript-Fähige Browser ausschließen?

        Das ist so, als wenn Rollstuhlfahrer Probleme haben in dein Haus zu kommen und du denen keine Rampe baust, sondern den Rollstuhlfahrern das Betreten deinen hauses verbietest.

        Für zweiteres sehe ich keine anständige Möglichkeit.

        aber ich denke (dachte) mir ich kann mit JS genau solche Sachen programmieren um eben meine Seite "dynamischer" zu gestalten.

        Auch wenn Javascript so etwas ermöglicht, ist es meist eine schlechte Idee, eine Seite so dynamisch wie möglich zu gestalten. Javascript sollte möglichst da eingestezt werden, wo es helfen oder unterstützen kann, aber man sollte m.M.n. Seitenelemente nicht einfach auf nur Javascript umstellen, damit es dynamischer oder moderner wirkt.

        Jonathan

        --
        Selfcode: ie:( fl:{ br:> va:) ls:& fo:) rl:? ss:} de:> js:| ch:? mo:} zu:)