2012-03-30 18 views
0

新しいウィンドウにフォームを送信しようとして、現在のウィンドウをリダイレクトしようとしていますが、動作しません。 私のコードは次のとおりです。Javascriptフォームを送信して現在のページをリダイレクト

function submit() { 
    document.checkout_confirmation.submit(); 
    setTimeout(window.location = 'http://google.nl', 1000); 
    } 

私はこのコードを実行すると、それだけのページをリダイレクトしてから提出していません。これは間違っているのですか、これは不可能ですか? 私の質問に詳細が不足しているかどうかお気軽にお気軽に ありがとうございました

答えて

3

成功するには、送信が成功した後にサーバーがユーザーをリダイレクトする必要があります。フォームに関する何かが無効な場合はどうなりますか?その場合はリダイレクトする必要はなく、JavaScriptコードを検証して無効にすることはできません。 Post/Redirect/Getを参照してください。

また、setTimeoutを間違って使用しています。これは、submit()を介してブラウザを送信しているときにはうまくいかない可能性があります(フォームが他の「送信」リスナーと送信Ajaxを介して、私は思います)。

setTimeout(function() { 
    window.location = 'http://google.nl/'; 
}, 1000); 
+0

フォームの検証にjavascriptを使用しないと、フォームの結果が支払いプロバイダに送信され、SHAを使用して検証されます。あなたは本当に必要と思ったら、私はどのように私は、支払いプロバイダには、PHPを介してフォームを提出する説明することができますか? – william1001

+1

settimeoutのエラーを説明していただきありがとうございます。おそらくそれは問題です、私は今それを試してみるつもりです。編集:それは今働く、ありがとう – william1001

関連する問題