Martin-FFB: Brauche Hilfe bei dynamischen ein/ausblenden eines Passwortes

Hallo zusammen,

ich habe ein etwas kniffliges Problem und bin absoluter Java Neuling

ich möchte gerne in einer Anzeige mittels eines Buttons bzw. eines Images umschalten zwichen der Anzeige von "*****" und dem klartextpasswort. Es gaht halt darum, das ein Passwort nicht im Klartext die ganze Zeit am Bildschirm über stehen soll, sondern nur, wenn der Benutzer das anfordert.

Prinzipiell habe ich das auch schon - fast - im Griff. nur leider wird irgendwie das Passwort immer nur für einen sekundenbruchteil angezeigt - muss wohl mit dem Postback zu tun haben. Ich habe im ASP dahinter auch schon mit dem isPostback versucht, das anders zu machen, bin aber kläglich gescheitert...

Also...

mein Codebehind erstellt dynamisch eine Tabelle mit diesem Inhalt:

<a onclick='TogglePWD(this, 'VUE1')><input type='image' src='Resources/view.png' name='Button99' value='VUE' id='VUE1' style='width:30px;' /></a>

<span id='XXX1' style='display: none'>**********</span>
<span id='PWD1';'HIER STEHT DAS KLARTEXTPW</span>

im ASP hab ich dann die Funktion "TogglePWD" so definiert:

function TogglePWD(anchor, IDS) {
            //var CState = document.getElementById(IDS);
            var subclass1 = "PWD" + IDS.substring(3);
            var subclass2 = "XXX" + IDS.substring(3);
            var CState1 = document.getElementById(subclass1);
            var CState2 = document.getElementById(subclass2);
            if (CState1.style.display != "none") {
                CState2.style.display = "block";
                CState1.style.display = "none";
                return false;
            }
            else
            {
                CState2.style.display = "none";
                CState1.style.display = "block";
                return false;
            }

Das ganze geht wie gesagt auch schon rudimentär... klicke ich nun auf das Bild, wird der Text in der Tabelle von '******' auf das Passwort gesetzt - nur leider eben sofort wieder zurückgesetzt.

Ziel sollte nun sein, das Passwort
a) Entweder für eine längere Zeitspanne zu sehen (20sec?) = ideal
b) das Passwort so lange stehen zu lassen, bis ein weiterer klick auf das Image erfolgt

Wäre klasse, wenn mir da wer unter die Arme greifen könnte!

Vielen lieben Dank schon mal
Liebe Grüße
Martin

  1. Sorry sorry sorry - hab des Pudels kern...

    das "return false" gehört in das OnClick Event und nicht in die Funktion...

    Also

    <a onclick='TogglePWD(this, 'VUE1');return false;'><input type='image' src='Resources/view.png' name='Button99' value='VUE' id='VUE1' style='width:30px;' /></a>

    <span id='XXX1' style='display: none'>**********</span>
    <span id='PWD1';'HIER STEHT DAS KLARTEXTPW</span>

    function TogglePWD(anchor, IDS) {
                //var CState = document.getElementById(IDS);
                var subclass1 = "PWD" + IDS.substring(3);
                var subclass2 = "XXX" + IDS.substring(3);
                var CState1 = document.getElementById(subclass1);
                var CState2 = document.getElementById(subclass2);
                if (CState1.style.display != "none") {
                    CState2.style.display = "block";
                    CState1.style.display = "none";
                }
                else
                {
                    CState2.style.display = "none";
                    CState1.style.display = "block";
                }

    1. Wenn ich dich richtig verstehe, hast du via CSS das span mit dem Klartextpasswort versteckt? Darin sehe ich absolut keinen Sinn. Jeder der die rechte und linke Maustaste benutzen kann, kann das Passwort sowieso finden.

      Desweiteren: Java != JavaScript -> 'Erklärung'

      Was hast du vor? (Mit der Infromation können wir dir wahrscheinlich besser helfen)

      MfG
      bubble

      --
      If "god" had intended us to drink beer,
      he would have given us stomachs. - David Daye