我在Mailchimp网站上看到,当用户订阅您的邮件列表时,您可以将用户重定向到自定义的感谢页面,但这并不是我想要做的。
当用户订阅我的邮件列表时,我想隐藏表单并直接在我的页面上用感谢信息替换它,而不进行任何重定向。有没有办法做到这一点?
答案 0 :(得分:6)
您可以通过修改表单操作来执行此操作。
将“subscribe / post”更改为“subscribe / post-json”...
<form action="...list-manage.com/subscribe/post-json?u=...."
向表单添加提交处理程序:
$("#subscribe-form").submit(function(e){
e.preventDefault();
submitSubscribeForm($("#subscribe-form"));
});
通过AJAX(Code referenced from Github here)提交表单:
function submitSubscribeForm($form, $resultElement) {
$.ajax({
type: "GET",
url: $form.attr("action"),
data: $form.serialize(),
cache: false,
dataType: "jsonp",
jsonp: "c",
contentType: "application/json; charset=utf-8",
error: function(error){},
success: function(data){
if (data.result != "success") {
var message = data.msg || "Sorry. Unable to subscribe. Please try again later.";
if (data.msg && data.msg.indexOf("already subscribed") >= 0) {
message = "You're already subscribed. Thank you.";
}
$resultElement.html(message);
} else {
然后编写代码以显示注册确认
$resultElement.html("Thank you!<br>You must confirm the subscription in your inbox.");
}
}
});
}