我打开一个带有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()。