2014-07-05 1 views
0

사용자가 다른 사이트로 리디렉션되도록 반복하는 암호 배열을 만들어야합니다. 3 번의 실수 후에 사용자는 다시 시도 할 수 없습니다. 이것은 내가 지금까지 가지고 있지만 작동하지 않습니다.인 경우 사용자는 3 번만 기회를 갖습니다.

<form> 
<label>Please enter Password</label> 
<input type="text" id="Pass" /> 
<input type="button" value="go" onClick="check()" /> 
</form> 
<script type="text/javascript"> 
function check() 
{ 
var password = ["123","456","789"] 
for(a=0;a=password.length;a++) 
{ 
    if (user="password") 
{ 
document.location.href="http://yahoo.com"; 
} 
else 
{ 
alert("wrong password"); 
} 
} 
} 
</script> 
+0

if 문도 의미가 없으므로 '사용자'를 항상 '사실'인 '789'에 할당합니다. –

+0

당신은 바로 거기 funtion 아니에요, 나는 그것을 더 편집하고, 나는 이것을 가지고 있지만, 그것은 여전히 ​​작동하지 않습니다 : ( – Yaelix

답변

0

onclick 이벤트에서 함수 check를 호출하는 바와 같이, 당신은 당신의 코드에서 해당 이름의 함수가 필요합니다.

check 함수를 호출 할 때 텍스트 상자의 값을 전달할 수 있으므로 함수가이를 사용하여 배열의 항목을 검사 할 수 있습니다.

코드에서 루프 조건이 잘못되었습니다. a=password.length을 사용하면 루프가 전혀 실행되지 않습니다. 루프는 조건이 참일 때 실행되며 루프의 끝을 표시하는 데 사용되지 않습니다.

== 연산자를 사용하여 두 값이 같은지 확인하십시오 (= 연산자가 할당 용 임). 변수 a의 색인이있는 항목을 가져 오려면 password[a]을 사용하십시오.

루프에서 문자열이 동일한 지 확인해야합니다. else 케이스가있는 경우 일치하지 않는 모든 비밀번호에 대해 비밀번호가 잘못되었다고 알려줍니다. 기능을 종료하려면 return을 사용하십시오.

루프가 끝나면 암호가 일치하지 않으므로 암호가 잘못되었다는 것을 알게됩니다.

<body> 
    <form> 
    <label>Please enter Password</label> 
    <input type="text" name="Pass" /> 
    <input type="button" value="go" onclick="check(this.form.Pass.value)"/> 
    </form> 
    <script type="text/javascript"> 

    var password = ["123","456","789"]; 

    function check(pass) { 
    for(a = 0; a < password.length; a++) { 
     if (pass == password[a]) { 
     document.location.href="http://yahoo.com"; 
     return; 
     } 
    } 
    alert("wrong password"); 
    } 

    </script> 
</body> 
관련 문제