我有一个带有表单的页面。我在输入控件中填充了来自网址的参数email
的值。
因此,当页面加载时,我会自动将表单提交给黑猩猩,如下所示:
<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动作没有完成,因为没有打开其他弹出窗口(这个页面重新定向回初始化)。
在FOR SURE POST完成后,你能否建议我进行重定向的方法? (通过这种方式,我认为也适用于Chrome)......
更新:
表单的目标是“_blank”,所以来自邮件黑猩猩的脚本(我在POST的地方)打开一个确认弹出窗口。
更新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;
});
答案 0 :(得分:1)
您是否尝试同时提交表单并重定向到另一个页面 ?你不能这样做。您一次只能发出一个请求(没有AJAX)。