我正在使用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
。
这是成功编辑的屏幕截图。
但是一旦我关闭模态然后重新打开它,成功文本将保留在模态窗口中。我希望一旦模态窗口失去焦点就清除它,而不必重新加载页面以便它这样做。
如果有帮助,这里是相关的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);
});
});
任何帮助将不胜感激
谢谢!
(如果我提供/询问的信息或问题不清楚,请告诉我,我会尽力澄清它)
答案 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';
}
};