我想在从表中删除一行后重新加载页面,然后显示消息。以下是JavaScript代码:
if(action == 'delete'){
window.location.reload(true);
//tried to set timeout here, no luck :(
document.getElementById('messageSpan').innerHTML = "The value has been deleted.";
}
似乎在messageSpan
内容更改后执行重新加载功能,因此重新加载功能会清除messageSpan
内容。
答案 0 :(得分:1)
如果您尝试在定义的时间段内显示消息并然后重新加载页面,则可以使用setTimeout功能:
if(action == 'delete'){
document.getElementById('messageSpan').innerHTML = "The value has been deleted.";
setTimeout(function () { // wait 3 seconds and reload
window.location.reload(true);
}, 3000);
}
请注意,您的消息仅在三秒内显示 ,当页面重新加载时,它将消失。
答案 1 :(得分:1)
不要使用重新加载。使用查询字符串将值传递回页面,告诉它删除操作是否成功
即。 self.location.href =“yourPage.html?result = success”
然后,您的页面应检查结果查询字符串项并显示相应的消息。
但是看看jquery和ajax,您可能根本不需要回发来刷新网格
答案 2 :(得分:1)
刷新页面后显示消息可以通过以下方式完成:
HTML (在BODY标记中的任意位置插入):
<div id="dvLoading"></div>
<强> CSS 强>:
#dvLoading {
background:url(../theImages/loader.gif) no-repeat center center;
height: 100px;
width: 100px;
position: fixed;
left: 50%;
top: 50%;
margin: -25px 0 0 -25px;
z-index: 9999999999999999;
}
<强> JQuery的强>:
$(window).load(function() {
$('#dvLoading').fadeOut(2000);
});
装载机图片:
对我来说就像一个魅力。希望它有助于你的问题。
答案 3 :(得分:0)
重新加载页面会破坏页面的状态,因此用户永远不会看到HTML消息,因为它会被页面重新加载重置。