重新加载并显示信息。

3

我希望在从表格中删除一行后重新加载页面,并显示消息。以下是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内容。

我不明白 - 你的意思是在页面重新加载后,你希望messageSpan仍然消失吗? - karim79
我想在页面重新加载后显示messageSpan。 - user186826
4个回答

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

不要使用reload。使用查询字符串将一个值传回到你的页面,告诉它删除操作是否成功。

例如:self.location.href = "yourPage.html?result=success"

你的页面应该检查结果查询字符串项并显示适当的消息。

但是看一下jQuery和Ajax,你可能根本不需要做postback来刷新你的网格。


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);
});

加载图像:

Loadere

对我非常有效,希望它能对你的问题有所帮助。


0
重新加载页面将销毁页面的状态,因此用户将永远看不到消息HTML,因为它会在页面重新加载时重置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接