模态关闭时清除ajax成功消息

时间:2017-11-07 01:16:13

标签: javascript jquery ajax

我正在使用w3.css及其模态功能,我试图在窗口关闭后清除成功的ajax调用后生成的消息。但是,当我关闭窗口(通过单击模态窗口外),然后再次打开模式时,前一个ajax调用的文本仍然在屏幕上。以下是关闭模态的代码:

var modal_id = document.getElementById('edit-photo-modal');

window.onclick = function(event) {
    if (event.target == modal_id) {
        $('#edit-photo-form').find('input:text, select').val('');
        $('.w3-row').find('.w3-twothird w3-text-white').html("");
        $('.w3-row').find('.w3-threequarter w3-text-white').html("");
        modal_id.style.display = 'none';
    }
};

两个成功消息类可以是.w3-twothird w3-text-white.w3-threequarter w3-text-white

这是成功编辑的屏幕截图。

enter image description here

但是一旦我关闭模态然后重新打开它,成功文本将保留在模态窗口中。我希望一旦模态窗口失去焦点就清除它,而不必重新加载页面以便它这样做。

如果有帮助,这里是相关的ajax:

$('#save-bw-photo').on('click', function(e) {
  e.preventDefault();

  $.ajax({
        url: "/members/profile/handle-photo-edit",
        type: "POST",
        dataType: "json",
        data: {
            bw_image: 1,
            album_name: $('#album-name option:selected').val(),
            photo: /[^/]*$/.exec($('#selected-photo img').attr('src'))[0],
            colorspace: $('#colorspace option:selected').val(),
            channel: $('#channel option:selected').val()
        }
    }).done(function(msg) {
        $('#bw-message').attr('style', 'display: initial;');
        $('#bw-msg').html(msg.success_bw);
    }).fail(function(msg) {
        $('#bw-message').attr('style', 'display: initial;');
        $('#bw-msg').html(msg.fail_bw);
    });
});

任何帮助将不胜感激

谢谢!

(如果我提供/询问的信息或问题不清楚,请告诉我,我会尽力澄清它)

1 个答案:

答案 0 :(得分:1)

而不是:

if (req.path == '/login')

尝试

    var modal_id = document.getElementById('edit-photo-modal');

    window.onclick = function(event) {
        if (event.target == modal_id) {
        $('#edit-photo-form').find('input:text, select').val('');
        $('.w3-row').find('.w3-twothird w3-text-white').html("");
        $('.w3-row').find('.w3-threequarter w3-text-white').html("");
        modal_id.style.display = 'none';
    }
   };