javascript重定向无论如何都不起作用
这里有许多相同的问题。我尝试了所有的解决方案——没有任何帮助 我想用javascript在一些选项卡中打开新页面。这是我的HTML: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
<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;
}