私はフォームのページを持っています。 URLからパラメータemail
の値を入力する入力コントロールがあります。なぜこのjQueryはChromeで動作しないのですか?
は、ページがロードされたときに、私は自動的に次のように、メールチンパンジーにフォームを送信:
<script type="text/javascript">
$(document).ready(function() {
$('#mc-embedded-subscribe-form').submit();
if ($("#previousUrl").val().indexOf('?') != -1) {
window.location.replace($("#previousUrl").val() + '&emailRegistered=true#newsletterAnchor');
}
else {
window.location.replace($("#previousUrl").val() + '?emailRegistered=true#newsletterAnchor');
}
});
</script>
をし、直後に提出し、私は前のURLへのリダイレクトを行います。
まあ、(確認のためのポップアップが、フォームを提出した後に開かれ、メインページが戻って、以前のものにリダイレクトされるFirefoxので正常に動作しますこのすべて。
このがない理由を私は理解していませんクロームでは動作しません。私は意味、
ははあなたが私に行う方法を提案することができます。(このページは、最初の1に戻ってリダイレクトされaltought)他のポップアップがを開いていないので何とかPOSTアクションは、終了していませんPOSTが完了したことを確認するとリダイレクトされますか(このようにそれは私がPOSTを行う場所)です確認のポップアップウィンドウを開きます(
フォームのターゲットはメールチンパンジーからスクリプトので、「_blank」である:私は
UPDATE ...)あまりにChromeで動作すると思います。
UPDATE 2:
AJAXと試みたが、それは何もしません何らかの理由で...
$(document).ready(function() {
jQuery.ajax({
url: $('#mc-embedded-subscribe-form').attr('action'),
data: $('#mc-embedded-subscribe-form').serialize(),
type: 'POST',
success: function() {
if ($("#previousUrl").val().indexOf('?') != -1) {
window.location.replace($("#previousUrl").val() + '&emailRegistered=true#newsletterAnchor');
}
else {
window.location.replace($("#previousUrl").val() + '?emailRegistered=true#newsletterAnchor');
}
}
});
return false;
});
なぜサブミットメソッドが関数本体の最後の行でないのか... –
フローは次のとおりです。1ページ目をクリック - 2ページ目(このフォームはどこにありますか) - このフォームをPOSTする - –
soリダイレクトを送信する際に、以下のコードを実行しないでください。あなたが提出するイベントを添付しているunles。 –