Varjo: type ändern

Hallo,

Wie kann man den type eines inputs ändern?

Quasi:

Passwort: <input type="password" name="password" />
Passwort anzeigen: <input type="checbox" name="showpws" />

Und beim Aktivieren der Checkbox soll der Type vom ersten Input zu Text wechseln. Wie geht das?

  1. Hi Varjo!

    Meines Wissens kann man den Typ nicht ändern, aber:
    Checkbox handler:
    http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onclick
    Status:
    http://de.selfhtml.org/javascript/objekte/elements.htm#checked

    Und für den Input:
    http://de.selfhtml.org/javascript/objekte/document.htm
    http://de.selfhtml.org/javascript/objekte/node.htm
    zeigen Kommandos für folgende Möglichkeit:
    1. Mittels Node.value kommst du an den Passwortstring
    2. Mittels Mode.parentNode kommst du an den Elternknoten
    3. Mittels thePatentNode.removeChild(theChildnode) kannst du den Knoten löschen
    4. Mittels document.createElement("Input") erzeugst du den neuen input
    5. theParentNode.appendChild(neuerKnoten) hängst du den knoten ran
    6. Mittels Node.value setzt du den Passwortstring.

    Grüsse,
    Richard

    1. Hello out there!

      Meines Wissens kann man den Typ nicht ändern,

      Oops, im IE 6 geht’s wohl tatsächlich nicht; Firefox 2 macht’s.

      See ya up the road,
      Gunnar

      --
      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
      1. Oops, im IE 6 geht’s wohl tatsächlich nicht; Firefox 2 macht’s.

        Genau, der IE läßt Änderungen am Type nur exakt einmal beim Anlegen des Elements zu (per HTML oder document.createElement()), das soll wohl ein Sicherheitsfeature sein. Weniger für PASSWORD, mehr für FILE.

        Mal stelle sich vor:

        <input type="hidden" name="f" value="C:\Eigene Dateien\TAN-Liste Konto 112233456 Sparkasse Dummenhausen.txt">
        <input type="button" onclick="this.form.elements['f'].type='file';this.form.submit();" value="submit">

        Alexander

  2. Hello out there!

    Passwort: <input type="password" name="password" />
    Passwort anzeigen: <input type="checbox" name="showpws" />

    Du solltest Label vorsehen:

    <label for="password">Passwort:</label> <input type="password" name="password" id="password" />  
    <label for="showpws">Passwort anzeigen:</label> <input type="checkbox" name="showpws" id="showpws" />
    

    Und beim Aktivieren der Checkbox soll der Type vom ersten Input zu Text wechseln. Wie geht das?

    Bei 'onchange' der Checkbox mit der ID "showpws" deren Zustand abfragen und demensprechend die 'type'-Eigenschaft des 'input'-Objektes der ID "password" setzen, gern auch in Kurzschreibweise.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Bei 'onchange' der Checkbox mit der ID "showpws" deren Zustand abfragen und demensprechend die 'type'-Eigenschaft des 'input'-Objektes der ID "password" setzen, gern auch in Kurzschreibweise.

      Das weiß ich auch... Die Frage ist wie. Ich kann Coden und kenne die Logik, ich kenn nur die Syntax von JS nicht wirklich gut...

      1. Hello out there!

        Das weiß ich auch... Die Frage ist wie. Ich kann Coden und kenne die Logik, ich kenn nur die Syntax von JS nicht wirklich gut...

        Und wie sollen wir deine evtl. falsche Syntax berichtigen, wenn du uns nicht deinen bisherigen Versuch präsentierst?

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)