Jquery Modal使用AJAX自动关闭

时间:2012-08-08 13:55:25

标签: ajax jquery

我有一个带有两个按钮的表单(用HTML和PHP制作)。其中一个按钮只是保存表单(INSERT或UPDATE),另一个按钮同样发送电子邮件。

我有jquery模式,以便每次按下其中一个按钮时确认提交操作。按下按钮后,会出现另一种模式,只是为了确认过程被终止而没有任何错误。

我的问题是,当我按下SAVE按钮(不发送电子邮件的按钮)时,会在1秒后消失。当我按下按钮关闭时,它应该只关闭。另一个按钮工作正常。

这是我正在使用的代码:

        $.modal({
            content: $('#' + modalErrorId),
            title: 'Informa\u00E7\u00E3o',
            maxWidth: 500,
            buttons: modalButtons,
            zIndex: 500,
        });

同时:

$.ajax( {
   type: "POST",
   url: form.attr('action'),
   data: form.serialize(),
   success: function( response ) {
   openModal('modalSuccessMessage');
   }
});

1 个答案:

答案 0 :(得分:0)

好的,试试

$.ajax( {
   type: "POST",
   url: form.attr('action'),
   data: form.serialize(),
   success: function( response ) {
   openModal('modalSuccessMessage');
   }
});    
return false;

e.preventDefault();
$.ajax( {
   type: "POST",
   url: form.attr('action'),
   data: form.serialize(),
   success: function( response ) {
   openModal('modalSuccessMessage');
   }
});

你可能有像

这样的代码
$('#buttonid').on('click', function(e){
    // ajax call
});

$('#formid').on('submit', function(e){
    // ajax call
});

如果我猜对了,原因是

在模态出现之后,表单以常规方式提交,这导致刷新页面,因此DOM正在刷新,因此模态消失。 return falsee.preventDefault()会阻止以常规方式提交表单。