如何在提交按钮点击后重定向用户?我的javascript无效:
的Javascript
<script type="text/javascript" language="javascript">
function redirect()
{
window.location.href="login.php";
}
</script>
表单页
<form name="form1" id="form1" method="post">
<input type="submit" class="button4" name="order"
id="order" value="Place Order" onclick="redirect();" >
</form>
答案 0 :(得分:16)
您的提交将取消重定向,反之亦然。
我没有看到重定向的原因,因为为什么你的订单表格什么也没做。
那说,这是怎么做的。首先,永远不要在提交按钮上放置代码,但在onsubmit中执行,其次返回false以停止提交
注意此代码将忽略操作,并且由于返回false / preventDefault
而仅执行脚本function redirect() {
window.location.replace("login.php");
return false;
}
使用
<form name="form1" id="form1" method="post" onsubmit="return redirect()">
<input type="submit" class="button4" name="order" id="order" value="Place Order" >
</form>
或不引人注意:
window.onload=function() {
document.getElementById("form1").onsubmit=function() {
window.location.replace("login.php");
return false;
}
}
使用
<form id="form1" method="post">
<input type="submit" class="button4" value="Place Order" >
</form>
jQuery的:
$("#form1").on("submit",function(e) {
e.preventDefault(); // cancel submission
window.location.replace("login.php");
});
示例:
$("#form1").on("submit", function(e) {
e.preventDefault(); // cancel submission
alert("this could redirect to login.php");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<form id="form1" method="post" action="javascript:alert('Action!!!')">
<input type="submit" class="button4" value="Place Order">
</form>
答案 1 :(得分:4)
使用jquery你可以这样做
$("#order").click(function(e){
e.preventDefault();
window.location="login.php";
});
同样在HTML中你也可以这样做
<form name="frm" action="login.php" method="POST">
...
</form>
希望这有帮助
答案 2 :(得分:2)
为什么不使用普通的HTML?
<form action="login.php" method="post" name="form1" id="form1">
...
</form>
在您的login.php中,您可以使用header()功能。
header("Location: welcome.php");
答案 3 :(得分:1)
使用
window.location.replace("login.php");
或simply window.location("login.php");
这比使用window.location.href =,
更好,因为replace()
没有将原始页面放在会话历史记录中,这意味着用户不会陷入永无止境的后退按钮惨败。如果您想模拟某人点击链接,请使用location.href
。如果要模拟HTTP重定向,请使用location.replace
。
答案 4 :(得分:0)
这将是
window.location="login.php";
答案 5 :(得分:0)
// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com/SpecificAction.php");
// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com/SpecificAction.php";
答案 6 :(得分:0)
我希望这可能会有所帮助
<script type="text/javascript">
function redirect() {
document.getElementById("formid").submit();
}
window.onload = redirect;
</script>
<form id="formid" method="post" action="anypage.jsp">
.........
</form>