Entwickler-Ecke

Programmiersprachen (Client) - [Javascript] Problem(e) bei Login Script


Arbengie - Mo 01.08.11 17:23
Titel: [Javascript] Problem(e) bei Login Script
Moin, :)
ich habe mich heute das erste Mal mit Javascript auseinander gesetzt und will ein simples Login Script machen.
Wenn man das Password eingibt, sollen die Buchstaben durch "*" ersetzt werden und das Password in einer Variable gespeichert werden.
Wenn man dann auf den Login Button clickt, soll vorerst nur das Password ausgegeben werden (zum Testen), doch es wird einfach nur ein leerer String (leeres Fenster) ausgegeben.
Außerdem wird das Password Textfeld nicht durch die "*" ersetzt.

Kann mir wer helfen, um das Script funktionstüchtig zu machen?

MfG


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
<html>                                                                                                                
    <title>                                                                                                           
        Login                                                                                                         
    </title>                                                                                                          
    <body>                                                                                                            
        <form name="frmMain" action="" method="get">                                                                  
            <pre>Name:      <input type="text" name="name" size="10"/></pre>                                    
            <pre>Passwort:  <input type="text" name="pw" size="10" onkeyup="verschluesseln(this.value);"/></pre>
            <input type="submit" name="login" value="Login" onclick="login();"/>                                      
        </form>                                                                                                       
    </body>                                                                                                           
</html>                                                                                                               
                                                                                                                      
<script type="text/javascript">                                                                                       
    var password = "";                                                                                                
                                                                                                                      
    function verschluesseln(text)                                                                                     
    {                                                                                                                 
        var lastLetter = slice(text.length - 1, 1);                                                                   
        password = password + lastLetter;                                                                             
        document.frmMain.pw.value := "";                                                                              
        for (var i = 0; i < text.length; i++)                                                                         
        {                                                                                                             
            document.frmMain.pw.value = document.frmMain.pw.value + "*";                                              
        }                                                                                                             
    }                                                                                                                 
                                                                                                                      
    function login()                                                                                                  
    {                                                                                                                 
        alert(password);                                                                                              
    }                                                                                                                 
</script>


Dude566 - Mo 01.08.11 17:35

Um das Eingabefeld des Passworts mit Sternchen zu versehen, muss es auch vom Typ "password" und nicht "text" sein. ;)


Arbengie - Mo 01.08.11 18:23

ja ok :) Aber es muss doch sicherlich auch ne "manuelle" Möglichkeit geben, so wie ich das vor hatte.^^


Yogu - Mo 01.08.11 18:53

user profile iconArbengie hat folgendes geschrieben Zum zitierten Posting springen:
ja ok :) Aber es muss doch sicherlich auch ne "manuelle" Möglichkeit geben, so wie ich das vor hatte.^^

Sicher, aber deine wird, wenn sie funktioniert, ein paar Makel haben: Der Cursor wird nach jeder Tastenbetätigung an das Ende springen, der Passwort-Manager wird nicht funktionieren und vielleicht wird's auch flackern.

Dein Code enthält JavaScript-Fehler, den dir ein Debug-Tool deines Browsers (Fehlerkonsole oder Firebug in Firefox, Entwicklerwerkzeuge in Chrome oder IE) anzeigen wird. Der erste, der mir auffällt, ist in Zeile 19:

user profile iconArbengie hat folgendes geschrieben Zum zitierten Posting springen:

Quelltext
 
19:
{ ... }
        var lastLetter = slice(text.length - 1, 1);

slice ist eine Methode des String-Objekts, keine globale Funktion. Wie sie angewendet wird, steht in der SELFHTML-Referenz [http://de.selfhtml.org/javascript/objekte/string.htm#slice].


jaenicke - Mo 01.08.11 19:18

user profile iconArbengie hat folgendes geschrieben Zum zitierten Posting springen:
ja ok :) Aber es muss doch sicherlich auch ne "manuelle" Möglichkeit geben, so wie ich das vor hatte.^^
Da ist aber die Frage wozu du eine schlechtere Lösung statt der bereits vorhandenen haben möchtest. :gruebel: