2017-07-31 14 views
-1

下記のスクリプトを使って、私が望むページにリダイレクトしています。モーダルでフォームを送信した後、別のページにリダイレクトしようとしています

<script> 
    document 
    .getElementById("register-form") 
    .addEventListener("submit", function(e) { 
    e.preventDefault(); 
    window.location.href = "wallet.php"; 
     }); 
</script> 

問題は次のとおりです。e.preventDefault();フォームは送信されますが、ページにリダイレクトされません。フォームが送信されずにページにリダイレクトされます。wallet.php

フォームを送信してwallet.phpにリダイレクトする場合は、

+0

フォームを送信した後、PHPのheader()関数を使用してリダイレクトすることもできます。 – Lalit

+0

通常のフォーム提出(別のページを開く)でフォームを提出することはできません。***と***は別のページに一度にリダイレクトします。 AJAX *を介して*フォームを提出し、そのリクエストが正しく終了するまで待ってから*リダイレクトする必要があります。 – deceze

答えて

1

のjQueryを使用して、アヤックスでフォームを送信:

$("form").on('submit', function(e){ 
    $.post("form-submit.php", $(this).parent("form").serialize(), 
     function(){ 
      window.location.href = "wallet.php"; 
     } 
    ); 
    e.preventDefault(); 
}); 

header("location: wallet.php"); 

を使用してフォーム-submit.phpでそれをリダイレクトする方が簡単かもしれません(を置き換えますフォームハンドラ名でを入力します)。

+0

ヘッダー( "location:wallet.php");私が必要とする解決策は、モーダルであるフォームのためです。フォームヘッダー( "location:wallet.php")を送信すると、無視されます。 –

+0

大丈夫、iframeを "modal"で意味しますか?そこからwindow.location.hrefを使用するともう少し複雑になるかもしれません。 – Adder

関連する問題