2016-04-26 67 views
-1

我的window.location不會將頁面重定向到所需位置。與window.open相同的代碼有效。當用戶名和密碼不正確時,else語句也會執行。當輸入正確的用戶名和密碼時,它只刷新同一頁面。JS window.location不起作用

<div class="login" style="position:relative;top:200px;"> 

    <form name="login" method="post"> 
    <p align="middle">Please login to continue </p><p align="middle"><input type="text" name="login" placeholder="Username"></p> 

    <p align="middle"><input type="password" name="pwd" placeholder="Password"></p> 
    <p class="submit" align="middle"><input type="submit" onclick ="return check(this.form)" value="Login" name="commit"></p> 

    </form> 

    <script language="javascript"> 
     function check(form) { 
      if(form.login.value == "admin" && form.pwd.value == "sysadmin") { 
       window.location('alumni.html'); 
      } 
      else { 
       alert("Ten thousand thundering typhoons! What is the blasted password?"); 
      } 
     } 
    </script> 




    <!--<script type='text/javascript' src='alumna.json'></script> --> 
    </div> 

回答

1

window.location是一個只讀屬性:

的window.location的只讀屬性返回有關文檔的當前位置信息的定位對象。

MDN on window.location

試試這個:window.location.replace("http://stackoverflow.com");

+0

不起作用。 :( – lazycamper

+0

我嘗試^替換和鏈接。沒有工作。 – lazycamper

+0

是的,我做了。任何其他想法? – lazycamper

1

您也可以嘗試用

window.location = 'http://www.yoururl.com/alumni.html'; 

或直接

window.location = 'alumni.html'; 

有一個很好的問題,在java關於重定向腳本位置:How do I redirect with Javascript?

[編輯#1]

雖然我認爲這不是主要問題。我相信你無法驗證你正在做這件事的方式。在窗體有一個名爲actionhttp://www.w3schools.com/tags/att_form_action.asp

的解釋然後在頁面加載的屬性,你驗證的參數,並決定,如果它的正確與否,在那裏你重定向到一個頁面,如果其右,或其他如這是不對的。

或者你也可以加載頁面,如果驗證是正確的,留在頁面,如果它是錯誤的重定向到登錄頁面。

這是做到這一點的一種方式,可能還有另一種更好。

[編輯#2]

我會親自做的是處理在PHP頁面的形式,它更容易和簡單。可能是這樣的:

在HTML

<div class="login" style="position:relative;top:200px;"> 

    <form name="login" action="myPhpPage.php" method="post"> 
    <p align="middle">Please login to continue </p> 
    <p align="middle"><input type="text" name="login" placeholder="Username"></p> 

    <p align="middle"><input type="password" name="pwd" placeholder="Password"></p> 
    <p class="submit" align="middle"> 
    <input type="submit" onclick ="" value="Login" name="commit"></p> 

    </form> 

    <!--<script type='text/javascript' src='alumna.json'></script> --> 
</div> 

在PHP頁面:

$name = $_POST['login']; // it's $_post because you are sending the form with method = post 
$pass = $_POST['pwd']; 

if($name == "admin" && $pass == "sysadmin"){ 
    //go to one page or stay here 
} else{ 
    // redirect to another page 
} 
0

window.location的是不是一個功能,它是剛讀的屬性。但是,

window.location.assign 

可能會更好。