2010-12-31 9 views
-2

私はそれを把握することはできません。..このJavaScriptコードで何が問題になっていますか?

マークアップ:

<form> 
    <fieldset><p> 
     <label>Username: <input type="text" name="user" id="user" /></label></p><br /><p> 
     <label>Password: <input type="password" name="passw" id ="passw" /></label></p> 
     <label><input type="submit" value="Log in" name="submitBUT" style="width: 65px; height: 25px; background-color: green; color: white; font-weight: bold;" id="submitBUT" /><div id="helllo"></div></label> 
    </fieldset> 
</form> 

コード:

var subBut = document.getElementById('submitBUT'); 
var users = ['hithere', 'Peter112', 'Geksj', 'lOsja', 'fInduS', '323DssaAA', 'f1fsus']; 
var passes = ['mllesl', 'Petboy', 'Heneeesh', 'Olga', '234dasdf77/', 'minls', 'ew832ja']; 
var output = []; 
function submi(u, p) { 
    for (var i = 0; i < users.length; i++) { 
     if (users[i] == u) { 
      output.push(i); 
     } 
    } 
    for (var o = 0; o < output.length; o++) { 
     if (passes[output[o]] == p) { 
      return p + ' was a correct password.'; 
     } 
    } 
    return 'Error, please try again'; 
} 
subBut.onclick = (document.getElementById('helllo').innerHTML=(submi(document.getElementById('user').value, document.getElementById('passw').value))); 

LIVE CODE; http://jsfiddle.net/w87MS/

とはい、私はあなたがソースコードにパスワードを保存しないでください知っている:、それだけで「毛皮のT3Hのlulz」

+11

コードの目的が何であるか、それが何をすべきか、実際に何をしているのかを少なくとも記述することができます。 –

+0

あなたは何を達成しようとしていますか?それはすぐにはっきりしない理由で本当に複雑に見えます。つまり、すべての試みを配列にプッシュすることは何ですか? –

+7

ライブの例へのリンクは非常に便利ですが、**常に**実際の関連するマークアップとコード*も質問に投稿します*。 StackOverflowは単独で使用することを目的としており、外部リソースの名前を変更したり、削除したりすることもできます。また、あなたの質問を理解するためのリンクをたどってはいけません。 (私はこの機会にあなたのためにそれをしました) –

答えて

6

Dだ私はあなたがやっていることを確認してください、上記のコメントに同意していないが、 ...問題はsubmitハンドラが機能ないあなたが代入している文字列であるということです、これは:

subBut.onclick = (document.getElementById('helllo').innerHTML=(submi(document.getElementById('user').value, document.getElementById('passw').value))); 

は次のようになります。

subBut.onclick = function() { 
    document.getElementById('helllo').innerHTML= 
    submi(document.getElementById('user').value, document.getElementById('passw').value); 
    return false; //for testing, prevent form submission 
}; 

You can test the updated version here

+0

ありがとう、それは働いた!しかし、なぜ 'false falseを返すのですか? ' – DarkLightA

+2

@DarkLightA - そうでなければ、 '

'は、ページを残してテストして結果を見て、それを防ぐ必要があります。 –

関連する問題