如何在提交按钮单击后重定向用户?

时间:2013-03-05 09:36:16

标签: javascript

如何在提交按钮点击后重定向用户?我的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>

7 个答案:

答案 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>