我已经尝试了半打的方式在点击一个按钮,其中没有对Firefox或边工作,以打开在同一个标签页:
window.location ="advance.html";
什么都没发生
window.location ="/advance.html";
什么都没发生
window.location.href ="advance.html";
什么都没发生
window.location.href ="/advance.html";
什么都没发生
window.open("advance.html", _self);
什么都没发生
window.open("advance.html");
在新标签中打开页面
一直在努力了一个小时试图每一个建议和没有什么作品。
我缺少的是在这里吗?
编辑:既然人都在问的情况下(我知道用户名和密码以明文形式,我只是试图让这部分工作在前):
<script language="javascript">
function goHome()
{
window.location = 'index.html';
};
function login(form)
{
if(form.company.value == "advance" && form.password.value == "1234")
{
window.location.href ="advance.html";
}
else if(form.company.value == "" || form.password.value == "")
{
}
else
{
alert("Incorrect Usename/Password combination please try again.");
form.password.value = "";
}
}
其实我已经通过实验,因为MDN文档不明确这一点,想通了这一点,但它似乎window.location
使用完整路径与协议,但接受与.
或..
和与/
开始绝对网站的路径开始的相对路径。
这意味着你的第二个和第四个例子实际工作。
window.location = "/advance.html";
如果不是为你工作'S,那么误差可能是在其他地方,或浏览器是不一致的(因为这是一个古老的功能,它让我感到吃惊)。
不要使用提交,使用按钮这样的:
<input type="button" onclick="login(this.form)" value="login">
function login(form) {
if (form.company.value == "advance" && form.password.value == "1234")
{
window.open("advance.html", "_top");
}
}
我认为这个问题是在你的window.open("advance.html", _self);
。你必须引用“_self”。 window.open("advance.html", "_self");
此代码应工作。您也可以在它使用位置参数。像`location.assign( “advance.html”)。这将在新窗口中打开它。