在fancyBox AJAX表单提交后单击"返回"

nic*_*ius 6 forms ajax fancybox campaign-monitor

不确定这是否可能,但我有一个像这个小提琴的AJAX形式:

http://jsfiddle.net/nicorellius/GfeEf/

在我的网站上,它工作正常.我使用JavaScript在表单中进行了简单的验证,但是如果用户通过JavaScript,则会向用户显示一个Campaign Monitor网页:要么是yay,要么是nay进行验证.

当用户成功订阅时,如果用户单击或使用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);
                  //}
});
Run Code Online (Sandbox Code Playgroud)

尽管如此,

success : function() {
              $.fancybox.close(true);
          }
Run Code Online (Sandbox Code Playgroud)

对于AJAX脚本,我无法在提交后关闭它.

编辑

我也应该注意,这种现象似乎发生在Firefox,Safari和Opera上.Chrome的行为与我期望的一样(例如,当点击后退链接时,我会重新加载新页面).CM页面javascript:history.go(-1)用来寄回给我.

Ege*_*nar 2

我不知道 Campaign Monitor,但为什么不在文档加载时强制关闭 fancybox?

$(document).ready(function(){
  $.fancybox.close(true);
}
Run Code Online (Sandbox Code Playgroud)