我用fancybox打开一个表单,当我点击提交时我抛出了一些AJAX函数。我请求在我的主页上刷新一个表格,并在我关闭fancybox 之后。
当我在第一次加载主页后第一次单击提交按钮时,一切正常,但如果我尝试调用我的表单并提交两次或更多次,fancybox.close() 不起作用。这是我的代码:
$('#bouton_ajout_terminal').fancybox({
href: 'http://www.myurl.com/emm/utilisateurs/form_ajout_mobile.php',
type: 'ajax',
wrapCSS: 'fancybox-custom',
closeClick:false,
openEffect:'elastic',
openSpeed:200,
closeEffect:'elastic',
closeSpeed:200,
helpers:{
overlay:{
css:{'background-color':'#eee'}
}
},
afterShow: function() {
$('#formulaire_ajout_mobiles').on('submit', function() {
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: $(this).serialize(),
dataType: 'json',
success: function(json) {
if(json.reponse == 'ajout ok') {
refresh_terminaux(),
$.fancybox.close();
} else {
alert('Erreur : '+ json.reponse);
}
}
});
return false;
});
}
});
有一些奇怪的事情,因为每当我提交我的表单时,我的主页上的表格会自动刷新,这证明我的功能是可操作的。唯一不起作用的是fancybox.close()。