14

送信ボタンのクリック後にユーザーをリダイレクトするにはどうすればよいですか? 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>
4

7 に答える 7

20

あなたの提出はリダイレクトをキャンセルします、またはその逆です。

そもそもリダイレクトの理由がわかりません。なぜ何もしない注文フォームがあるのでしょうか。

とはいえ、これがその方法です。最初に送信ボタンにコードを配置しないでください。ただし、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>

于 2013-03-05T09:44:36.237 に答える
4

jqueryを使用すると、このように実行できます

$("#order").click(function(e){
    e.preventDefault();
    window.location="login.php";
});

また、HMTLでは、このようにすることができます

<form name="frm" action="login.php" method="POST">
...
</form>

お役に立てれば

于 2013-03-05T09:39:34.657 に答える
3

使用する

window.location.replace("login.php");

またsimply window.location("login.php");

元のページがセッション履歴に記録されないwindow.location.href =,ため、使用するよりも優れています。replace()リンクをクリックする人をシミュレートする場合は、 を使用しますlocation.href。HTTP リダイレクトをシミュレートする場合は、 を使用しますlocation.replace

于 2013-03-05T09:38:25.237 に答える
2

プレーンな html を使用しないのはなぜですか?

<form action="login.php" method="post" name="form1" id="form1">
...
</form>

login.php で、header()関数を使用できます。

header("Location: welcome.php");
于 2013-03-05T09:39:05.367 に答える
0

これが役立つことを願っています

<script type="text/javascript">
	function redirect() {
		document.getElementById("formid").submit();
	}
	window.onload = redirect;
</script>
<form id="formid" method="post" action="anypage.jsp">
  .........
</form>

于 2015-11-29T04:41:10.417 に答える
0

それはそのようになります

window.location="login.php";
于 2013-03-05T09:38:47.583 に答える
-1
// 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";
于 2013-03-05T09:39:44.287 に答える