javascript重定向无论如何都不起作用

javascript重定向无论如何都不起作用,javascript,html,Javascript,Html,这里有许多相同的问题。我尝试了所有的解决方案——没有任何帮助 我想用javascript在一些选项卡中打开新页面。这是我的HTML: <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" ></script> <script src="functions.js"></script> <meta http-equiv="Co

这里有许多相同的问题。我尝试了所有的解决方案——没有任何帮助

我想用javascript在一些选项卡中打开新页面。这是我的HTML:

<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" ></script>
<script src="functions.js"></script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link href="css.css" rel="stylesheet" type="text/css" />

</head>
<body>
...
<label>
<input type="image" name="imageField" id="loginClient" onclick="testUrl()" src="images/index_33.gif" />
</label>
...
</body>
</html>
我也尝试过其他方法:

window.location.replace("content.html")

top.location="content.html"

window.location.assign("content.html")

window.open("content.html", "_self")

window.location.href="content.html"

window.event.returnValue = false;
window.location = "content.html";

setTimeout(function(){window.location.assign("content.html");return false;},500)
我在Opera、Firefox(都在Windows中)和Chrome(Debian)中试用了它,但没有任何效果。 但如果我设置:

window.open("content.html")
但在新选项卡中,不是解决方案,我需要它在同一选项卡中

但如果我尝试用Firebug调试它,并始终单击“单步执行”,那么所有的解决方案都不会奏效。如果我在重定向之前设置了alert(),它也可以工作

控制台显示没有错误。 我不知道,救命啊

决心:感谢@lonesomeday

这就是解决方案:

$(document).ready(function(){
    $("#loginClient").click(function(event){
      event.preventDefault();
      window.location = "content.html";
    });
});

您已经在
元素上单击了这个
onclick
属性。图像输入是有效的
submit
按钮。当您单击它时,它将被激活,并且表单将被提交。提交表单时,它会取消任何正在进行的HTTP请求,例如您的
window.location
调用

因此,您需要阻止表单提交

执行此操作的快捷方法是从事件处理程序返回
false
。大概是这样的:

onclick="return testUrl()" 
对于JS:

function testUrl()
{
window.location = "content.html";    
return false;
}

更漂亮的方法是用Javascript绑定事件处理程序,并使用
event.preventDefault

你想在同一页的同一选项卡上打开链接吗???对我来说很有用。检查您的
functions.js
文件是否实际包含(例如,路径正确)。您的输入#loginClient是否在表单中?只有当
input
表单
元素中时才会出现这种情况。OP所具有的功能在其他情况下起作用,并且本身不显示
表单
。@JaredFarrish它位于
表单
元素中。否则就行了。
表单
元素明确地包含在
..
中。输入在表单元素中。我试图返回错误;刚才-不起作用
function testUrl()
{
window.location = "content.html";    
return false;
}