簡體   English   中英

JS重定向無法按預期工作

[英]JS redirection not working as expected

我有一個非常基本的代碼,其中有兩個HTML頁面, index.html是基本身份驗證頁面,而crap.html是我要做的頁面,嗯,有些廢話。
現在,我在index.html上有一個表單,該表單上附加了onsubmit()處理函數,以便我可以檢查用戶名和密碼。 如果正確,它將顯示一條消息,並繼續將用戶重定向到crap.html
現在,問題在於這種重定向對於錯誤的憑據似乎可以正常工作,但是即使提供了正確的憑據,它也會自動重新加載index.html頁面,即使auth.js沒有用於重定向的auth.js

以下是代碼:


auth.js

function passCheck(){
var user = document.getElementById("username").value;
var pass = document.getElementById("password").value;
var error = document.getElementById("error");
var set_user = "admin";
var set_pass = "admin";

if(user==set_user && pass==set_pass){
    error.style.color="green";
    error.innerHTML = "AUTHENTICATED CORRECTLY. REDIRECTING NOW.";
    setTimeout(function(){
        window.location.href="../crap.html";
    }, 3000);
}else{
    error.style.color="red";
    error.innerHTML = "WRONG CREDENTIALS. REDIRECTING NOW.";
    setTimeout(function(){
        window.location.href="../index.html";
    }, 1000);
  }
}  

index.html

<html>
<head>
<title>Authentication</title>
    <script src="js/jquery.js"></script>
    <script src="js/auth.js"></script>
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
    <form onsubmit="passCheck()">
        <table border=0>
            <tr>
                <td>Username</td>
                <td><input type="text" id="username" placeholder="Username" required autofocus></td>
            </tr>
            <tr>
                <td>Password</td>
                <td><input type="password" id="password" required></td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="submit" value="AUTHENTICATE">
                </td>
            </tr>
        </table>
    </form>
      <center>
            <div id="error"></div>
      </center>
  </body>
</html>  

重新加載頁面的原因是因為表單已提交到同一頁面。 您的表單沒有動作屬性。 為了防止表單實際提交,您需要return false; 從您的提交處理程序。

或者,在提交處理程序中設置表單操作。 您可以使用jQuery輕松完成此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM