2015-05-13 84 views
-1

我在這裏,因爲我只是學習JavaScript,我有一個只有一個用戶的登錄頁面issuse。 如果你錯了,代碼工作得很好,但是當你輸入正確的東西時,頁面只是刷新。我試過用「location =」「」和 window.open 但是同樣的錯誤。 下面是一些代碼: JavaScript登錄表格

function login(form) { 
if (form.id.value=="a") { 
if (form.pass.value=="b") {    
window.location.assign("file.html") 
} else { 
alert("Error! \n Invalid password. \n Please try again.") 
} 
} else { alert("Error! \n Invalid username. \n Please try again!") 
} 
} 

</script> 

<form method="POST"> 

<input type="text" id="name" class="textbox" placeholder="Username" name="id"></input><br/> 

<input type="password" id="pass" class="textbox" placeholder="Password" name="pass"></input><br/> 

<input type="submit" id="send" value="Log in" class="submit" onClick="login(this.form);"></input> 

</form> 

這裏的一些幫助嗎?

+0

我會小心嘗試在javascript中驗證密碼。這很容易看到什麼有效的值... – user2366842

+0

它只是用於學習和測試。 –

+0

@ user2366842考慮到這個應用程序的基本級別,我不會擔心最佳實踐。 Popa Gabiel很可能正在學習這門語言。 –

回答

0

爲了重定向到您想要的位置,您的方法需要返回false以防止默認操作(我還自行清理了您的usernamepassword檢查)。

<script> 
    function login(form) { 
     if (form.id.value === "a" && form.pass.value === "b") { 
      window.location.assign("file.html"); 
     } else { 
      alert("Error! \n Invalid username or password. \n Please try again!"); 
     } 
     return false;//add this here 
    } 
</script> 

,改變你的提交按鈕返回方法調用的值:

<input type="submit" id="send" value="Log in" class="submit" onclick="return login(this.form);"/> 

然後,您應該收到預期的效果。將來最好檢查這些值並在服務器端執行重定向(例如PHP)。