2015-07-04 150 views
-2

我寫了一個簡單的HTML和JavaScript登錄,但我不知道它爲什麼沒有響應。每當我運行它時,我的瀏覽器都會嚇壞了。任何建議都將不勝感激。謝謝。需要之間添加條件和增量語句JavaScript登錄問題

<html> 
<head> 
<script language="JavaScript"> 

var names = ["MACK","KAV"]; 
var user = prompt("Please enter your username.").toUpperCase(); 

switch(user) { 
case names[0]: 
var password = prompt("Please enter your password.").toUpperCase(); 
    if(user === 'MACK' && password === 'ATTACK') { 
    document.write("Hi Mack! Welcome back!"); 
} 
else{ 
      for(i =0; i <0; i++) { 
document.write("Password not valid!!! "); 
    }; 
}; 
    break; 
    case names[1]: 
var password = prompt("Please enter your password.").toUpperCase(); 
    if(user === 'KAV' && password === 'KAV') { 
    document.write("Hello!"); 
} 
else{ 
      for(i =0; i <0; i++) { 
document.write("Password not valid!!! "); 
    }; 
}; 
    break; 
default: 
    for(i =0; i <0; i++) { 
    document.write("Username not valid!!! "); 
}; 
}; 

</script> 
</head> 
<body> 
</body> 
</html> 
+2

你是什麼意思'我的瀏覽器嚇了一跳'? –

+0

你使用什麼瀏覽器?你的操作系統是什麼? – colecmc

+0

當您輸入錯誤的用戶名時,它會崩潰我的瀏覽器。 – CoderJimmy19

回答

1

你必須改變你的一切對於語句是這樣的:

for(i=0; i<1; i++){ 
    document.write("Password not Valid!!!") 
} 

這會打印出「密碼無效!」一旦。現在你的陳述不允許打印它,因爲那樣永遠不會是真的。

+0

哇!修復它,謝謝!我想我從來沒有意識到,我使我的初始循環設置不可能。 – CoderJimmy19

0
  1. 語法錯誤在你的代碼的行數26爲循環

分號。

它是

for(i =0; i <0 i++) 

它必須是

for(i =0; i < 0; i++) 
  • 更改在for循環

    爲(I 0到1 = 0; i < 1; i ++)

  • 在您的任何瀏覽器中始終使用inspect element將錯誤指向腳本。

    +0

    是的,我剛剛注意到了。謝謝!但不幸的是,它仍然無法正常工作。 :( – CoderJimmy19

    +0

    現在它會適合你... –

    1

    這裏是我所做的解決方案,你可以檢查它的jsfiddle:http://jsfiddle.net/ux0ohvws/

    var names = ["MACK","KAV"]; 
    var user = prompt("Please enter your username.").toUpperCase(); 
    
    switch(user) { 
    case names[0]: 
        var password = prompt("Please enter your password.").toUpperCase(); 
        if(user === 'MACK' && password === 'ATTACK') { 
         alert("Hi Mack! Welcome back!"); 
        } 
        else{ 
         alert("Password not valid!!! "); 
        } 
        break; 
    case names[1]: 
        var password = prompt("Please enter your password.").toUpperCase(); 
        if(user === 'KAV' && password === 'KAV') { 
         alert("Hi Kav! Welcome back!"); 
        } 
        else{ 
         alert("Password not valid!!! "); 
        } 
        break; 
    default: 
        alert('Username not valid!!!') 
    } 
    

    的for循環是不必要的。在我的示例中,我交換了document.write以提醒,以便它可以在JSFiddle上運行。