不确定这是否可能,但我有一个像这个小提琴这样的 AJAX 表单:
http://jsfiddle.net/nicorellius/GfeEf/
在我的网站上,它运行良好。我使用 JavaScript 在表单中进行了简单的验证,但是如果用户通过 JavaScript,则会向用户显示一个Campaign Monitor网页:对他们的验证说是或否。
当用户订阅成功时,如果用户点击返回或使用 CM 反向链接,fancyBox 仍然会填充数据。根据我编写脚本的方式,它应该在提交后关闭。
这是 Linux 和 Windows 中的 Firefox 行为。Chrome 实际上会清除页面并删除 fancyBox 表单。AJAX 部分在这里:
$.ajax({
type : "POST",
cache : false,
url : "http://<comapny_name>.createsend.com/a/b/c/abcdef/",
data : $(this).serializeArray(),
// I've tried both of these commented out pieces to no avail.
//beforeSend : function() {
//$.fancybox.close(true);
//},
//success : function(data) {
//$.fancybox.close(true);
//}
});
因此,尽管添加:
success : function() {
$.fancybox.close(true);
}
到 AJAX 脚本,提交后我无法关闭它。
编辑
我还应该指出,这种现象似乎发生在 Firefox、Safari 和 Opera 上。Chrome 的行为与我预期的一样(例如,当单击返回链接时,我会重新加载新页面)。CM 页面javascript:history.go(-1)
用于将我送回。