Anzeige

Problem bei Javascript mit Array

Problem bei Javascript mit Array | PSD-Tutorials.de

Erstellt von Beowulf, 28.07.2008.

  1. Beowulf

    Beowulf Nicht mehr ganz neu hier

    Dabei seit:
    02.05.2006
    Beiträge:
    79
    Geschlecht:
    männlich
    Ort:
    Oldenburg
    Software:
    Adobe Photoshop CS3
    Problem bei Javascript mit Array
    Hallo zusammen,

    ich muss hier ein kleines Javascript schreiben, um die Pseudofunktionalität eines Login hinzubekommen. Ich habe den JavaScript-Anteil eigentlich auch schon fertig, habe aber ein (für mich) seltsames Problem. Und zwar ist es so, dass das Script nur mit normalen Variablen funktioniert, nicht aber mittels Array, was ich nicht verstehe. Hier der Quellcode:

    Code (Text):
    1.  
    2. // JavaScript Document
    3.  
    4. /*    vuser = 'test';
    5.     vpass = 'test';*/
    6.    
    7. function validate(user,pass) {
    8.    
    9.     var vuser = new array();
    10.     vuser[0] = 'test';
    11.     vuser[1] = 'b';
    12.     vuser[2] = 'c';
    13.    
    14.     var vpass = new array();
    15.     vpass[0] = 'test';
    16.     vpass[1] = 'test';
    17.     vpass[2] = 'test';
    18.    
    19.     for (var i = 0; i < 4; i++)
    20.         {
    21.         if ((document.login.user.value==vuser[i]) && (document.login.pass.value==vpass[i]))
    22.             {
    23.             if (i==0)
    24.                 {
    25.                 load('a/img.html');
    26.                 }
    27.             if (i==1)
    28.                 {
    29.                 load('b/img.html');
    30.                 }
    31.             else
    32.                 {
    33.                 load('c/img.html');
    34.                 }
    35.             }
    36.  
    37.         if (i > 2) {
    38.                 alert('Sie haben keine Berechtigung zum Zutritt zu dieser Seite!');
    39.                 break;
    40.             }
    41.         alert('Counter: ' + i);
    42.         }
    43. }
    44.  
    45. function load(url) {
    46.     location.href=url;
    47. }
    48.  
    Probiere ich es mit

    Code (Text):
    1.  
    2. var vuser = 'test';
    3. var vpass = 'test';
    4.  
    UND

    Code (Text):
    1.  
    2. if ((document.login.user.value==vuser) && (document.login.pass.value==vpass))
    3.  
    gehts, mittels Array und Abfrage

    Code (Text):
    1.  
    2. if ((document.login.user.value==vuser[i]) && (document.login.pass.value==vpass[i]))
    3.  
    dann leider nicht nicht mehr.

    Hier der html-Teil:

    HTML:
    1.  
    2. <form id="login" name="login" action="" method="post">
    3.                     Username :
    4.                     <input type="text" name="user"><br><br>
    5.                     Password :
    6.                     <input type="password" name="pass"><br>
    7.                     <br><br>
    8.                     <input type="button" value="LogIn" name="Submit" onclick="validate(user,pass);" >
    9.                     <input type="reset" value="Reset" name="Reset">
    10.                     <br><br>
    11.                     <hr>
    12.                 </form>
    13.  
    Ich bin ratlos und weiß nicht, was ich falsch gemacht habe.

    Wäre nett, wenn mir jemand von Euch einen Tip geben könnte.
     
    Zuletzt bearbeitet: 28.07.2008
    #1      
  2. michas

    michas Nicht mehr ganz neu hier

    Dabei seit:
    27.03.2007
    Beiträge:
    199
    Geschlecht:
    männlich
    Ort:
    Halle
    Software:
    GIMP, PDT Eclipse, Inkscape
    Problem bei Javascript mit Array
    AW: Problem bei Javascript mit Array

    Hi,
    Du hast da einen (oder zwei) kleine JS Fehler..

    ich habs mal geändert, sieht dann so aus...
    HTML:
    1.  
    2. function validate(user,pass) {
    3.     debugger;
    4.     var vuser = new Array();
    5.     vuser[0] = 'test';
    6.     vuser[1] = 'b';
    7.     vuser[2] = 'c';
    8.    
    9.     var vpass = new Array();
    10.     vpass[0] = 'test';
    11.     vpass[1] = 'test';
    12.     vpass[2] = 'test';
    13.    
    14.     for (var i = 0; i < 4; i++)
    15.        {
    16.        if ((document.getElementById('user').value==vuser[i]) && (document.getElementById('pass').value==vpass[i]))
    17.            {
    18.            if (i==0)
    19.                {
    20.                load('a/img.html');
    21.                }
    22.            if (i==1)
    23.                {
    24.                load('b/img.html');
    25.                }
    26.            else
    27.                {
    28.                load('c/img.html');
    29.                }
    30.            }
    31.  
    32.        if (i > 2) {
    33.                 alert('Sie haben keine Berechtigung zum Zutritt zu dieser Seite!');
    34.                 break;
    35.             }
    36.         alert('Counter: ' + i);
    37.         }
    38. }
    39.  
    Allerding bin ich der Meinung, dass Deine Herangehensweise noch ein wenig zu überdenken ist... Insbesondere die for schleife macht bestimmt nicht dass, was Du eigentlich bezwecken möchtest... Viel Spaß beim weiterprobieren...

    Eh ich es vergesse, im HTML Teil sollten natürlich die IDs für USER und PASS auch noch gesetzt werden!
    Gruß Micha
     
    #2      
  3. Beowulf

    Beowulf Nicht mehr ganz neu hier

    Dabei seit:
    02.05.2006
    Beiträge:
    79
    Geschlecht:
    männlich
    Ort:
    Oldenburg
    Software:
    Adobe Photoshop CS3
    Problem bei Javascript mit Array
    AW: Problem bei Javascript mit Array

    Vielen Dank für Deine Hilfestellung. Es geht zwar auch so, wie ich es gemacht habe (also ohne elementByID), aber durch Deinen Tip bin ich auf den wirklich blödesten Fehler überhaupt gekommen. Es musste new Array() statt new array() heißen. Außerdem war die If-Abfrage mit i > 2 an der falschen Stelle.
     
    #3      
x
×
×
teststefan