Document.Open()不起作用

时间:2012-02-10 06:09:03

标签: javascript jquery html css jquery-mobile

所以,我有一个按钮,如果该人的用户名和密码是正确的,它将通知您,然后它将重定向到另一个页面。第一件事有效,但它不会将你重定向到页面。

以下是网页的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Siur</title>
<script type="text/javascript">
///////////////////////////Login System///////////////////////////
function getCookie(){
  var whole, username, password, splitting, actual,user, pass;
  whole = document.cookie;
  whole = whole.split(';');
  username = whole[0];
  password = whole[1];
  actual = password.split('=');
  user = actual[0];
  pass = actual[1];
  alert(user + password);
}

function setCookie(c_name,value,exdays){
  var c_value=value + "; 
  pass="+document.getElementById('passwordText').value;
  document.cookie="=" + value + "; 
  pass="+document.getElementById('passwordText').value;
  alert(document.cookie);
  getCookie();
}

function url(url){
  document.open(url);
}

function checkCookie(){
  var whole, username, password, splitting, actual,user, pass;
  whole = document.cookie;
  whole = whole.split(';');
  username = whole[0];
  password = whole[1];
  actual = password.split('=');
  user = actual[0];
  pass = actual[1];
  if (document.getElementById('usernameText').value !=null &&
      document.getElementById('usernameText').value!="" &&
      document.getElementById('passwordText').value == pass) {
    alert("Welcome again " + user);
    document.open('search_webpage.html');
  }
  else{
    alert('Incorrect username or password.');
  }
}
//////////////////////////////End of Login system////////////////////////////////////
</script>
</head>

<body>
<table width=100% height=30 background="nav.png" border="0">
  <tr>
    <td >
        <form id="form1" name="form1" method="post" action="">
          <label for="searchBox"></label>
          IN-DEV 0.1

        </form>
    </td>
  </tr>
</table>
<img src="logo.png" width="206" height="147" />
  <p>-Where everything is at your finger tips-</p>
  <p>
    <label for="usernameText"><label>Username: </label></label>
    <input type="text" name="usernameText" id="usernameText" />
  </p>
  <p>
    <label for="passwordText"><label>Password: </label></label>
    <input type="password" name="passwordText" id="passwordText" />
  </p>
</center>
<center>

<input type="submit" name="create" id="create" onclick="checkCookie()" value="Login" /> 
<input type="submit" name="check" id="check" onclick="setCookie(
 document.getElementById('usernameText').value,
 document.getElementById('passwordText').value,365);" value="Register" />
</p>
  <p><a href="http://blacklist.eff.org/">Fight SOPA now!</a></p>

  <p><!--[if lt IE 7]> 
  <div style=' clear: both; height: 59px; padding:0 0 0 15px; position: relative;'> <a href="http://windows.microsoft.com/en-US/internet-explorer/products/ie/home?ocid=ie6_countdown_bannercode">
  <img src="http://storage.ie6countdown.com/assets/100/images/banners/warning_bar_0000_us.jpg" border="0" height="42" width="820" alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today." />
  </a></div> <![endif]--><footer><font color="#CCCCCC">Copyright 2012, All Rights Reserved.</font></footer></p>
</center>
</body>
</html>

2 个答案:

答案 0 :(得分:5)

document.open()不用于转到新网址。使用document.write()时会调用它。它将清除当前页面。

您想使用window.location = 'http://example.com';

答案 1 :(得分:3)

首先,使用也引用函数的变量名称通常不是一个好主意。我在你的基本HTML代码中发现了很多问题,因为第一阶段本身试图写出正确的并遵循最佳实践。

以下

function url(url){
      document.open(url); //is url the function or the variable?
}

使用如下

function goto_url(url) {
  window.location.href = url; //I think this might be what you are looking for
}

完全单独注意,使用javascript验证用户密码就像银行在同意兑现之前询问您的支票是否合适。

我很抱歉,我的意思是window.location.href,但如果他们点击后退按钮就会导致历史记录循环。或许最好使用window.location.replace(url)