Manfred: Feldattribut password aendern in text

Hallo zusammen,

in einem HTML Formular habe ich ein Inputfeld mit dem Attribut password:

 <form name="Formular">  
    <table id="Tabelle">  
      <tbody id="Tabellenkoerper">  
        <tr id="1.0">  
          <td id="1.1">Username:</td>  
          <td id="1.2" colspan="2"><input name="username" id="username" type="text" size="64" maxlength="64" /></td>  
        </tr>  
        <tr id="2.0">  
          <td id="2.1">Passwort:</td>  
          <td id="2.2"><input name="password" id="password" type="password" size="64" maxlength="64" /></td>  
          <td id="2.3"><input name="klarschriftPasswort" id="klarschriftPasswort" type="checkbox" onclick="passwordFieldAttribut(this)" />Passwort in Klarschrift anzeigen:</td>  
        </tr>  
        <tr id="3.0">  
          <td id="3.1" colspan="2" align="right"><input type="button" Value="Anmelden" onClick="firstHttpRequest(this.form)" /></td>  
          <td id="3.3">&nbsp;</td>  
        </tr>  
      </tbody>  
    </table>  
  </form>

Mit der Zelle 2.3 moechte ich dem Anwender nun die Moeglicheit geben sein eingegebenes Passwort in Klarschrift anzeigen zu lassen anstatt Punkt pro Buchstabe.

Dafuer habe ich folgende Javascriptfunktion:

function passwordFieldAttribut(ob) {  
  if (ob.checked == true)  
      //Ist die Checkbox ausgewaehlt, wird aus dem Attribut  
      //password das Attribut text.  
    {  
      $("password").setAttribute("type","text");  
      if ($("3.0").childNodes.length == "3")  
        { $("zweitesPassword").setAttribute("type","text"); };  
    }  
  else  
      //Ist die Checkbox nicht ausgewaehlt, wird aus dem Attribut  
      //text das Attribut password.  
    {  
      $("password").setAttribute("type","password");  
      if ($("3.0").childNodes.length == "3")  
        { $("zweitesPassword").setAttribute("type","password"); };  
    }  
}

In der Funktion ueberpruefe ich ob die Checkbox "gecheckt" ist.
Ist sie gecheckt, aendere ich das Attribut des entsprechenden Input von password in text. Oder eben umgedreht.
In Firefox, Konqueror und Opera funktioniert das. Im Internet Explorer bekomme ich folgendes angezeigt:
Error: This command is not supported.

Mit ein wenig Debugging bin ich zu dem Ergebnis gekommen, dass der IE es nicht zulaesst aus password text zu machen. Den Wechsel aus text password macht er mit.
Das Verhalten aendert sich auch nicht, wenn ich den Security Level fuer Intranet auf Low stelle.

Ist das bekannt?
Gibt es einen anderen Weg fuer den IE?

MfG
Manfred

  1. Hallo,

    Beim MSIE wird ein solcher Wechsel zwar aus "Sicherheitsgründen" verhindert, nicht verhindert wird jedoch, das Feld mit einem neuen Feld mit Typ Text und gleichem Inhalt zu ersetzen.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo LX,

      (...)
      Beim MSIE wird ein solcher Wechsel zwar aus "Sicherheitsgründen" verhindert, nicht verhindert wird jedoch, das Feld mit einem neuen Feld mit Typ Text und gleichem Inhalt zu ersetzen.

      Danke fuer die Info.
      Dann hab ich also die Wahl zwischen

      • das Eingabefeld loeschen und ein neues erzeugen.
      • die Option den IE-Usern nicht anbieten.

      Das werde ich mir mal durch den Kopf gehen lassen.

      Gruss
      Manfred