我有一個表單的頁面。有一個輸入控件我使用參數email
的url值填充。爲什麼這個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>
,並提交後,我做了重定向到前網址。
那麼,這一切作品在Firefox罰款(確認彈出窗口也提交表單和主頁被重定向回一前一後開了。
我不明白爲什麼這個做在Chrome不行的。我的意思是,莫名其妙POST操作還沒有完成,因爲沒有其他彈出打開(altought此頁面重定向回到最初的一)。
你能建議我的方式做當確定POST已完成時重定向?(以這種方式我認爲將在Chrome工作太)...
UPDATE:
表的目標是「_blank」,以便從郵件黑猩猩腳本(這就是我做的POST)打開一個確認彈出窗口。
更新2:
與阿賈克斯,但由於某種原因,它不會做任何事情嘗試...
$(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這個表單 - 回到頁面1 –
所以我認爲在提交重定向時,不應執行以下代碼。 unles你有事件附加提交。 –