我使用How to automatically reload a page after a given period of inactivity中的java脚本每隔30秒刷新一次html页面,效果很好。该页面包含一个表单,一些按钮和一些文本字段。该表单还包含一个状态列表,该页面在刷新页面时会更新。单击按钮时,相应的值将被发送回服务器。问题是,一旦我点击一次按钮,由于javascript的刷新,它每30秒重复一次。 如何在第一次删除按钮后单击? 我想将值保留在文本字段中。
答案 0 :(得分:1)
如果你的按钮附加了一个功能,如
<button onclick="myFunction()">Click me</button>
然后将此行添加到该函数
clickFlag = true
否则将其添加到按钮标记
<button onclick="clickFlag = true">Click me</button>
并按以下步骤更改刷新功能
var time = new Date().getTime();
$(document.body).bind("mousemove keypress", function(e) {
time = new Date().getTime();
});
function refresh() {
if(new Date().getTime() - time >= 30000 && clickFlag)
window.location.reload(true);
else
setTimeout(refresh, 10000);
}
setTimeout(refresh, 10000);
答案 1 :(得分:0)
您可以使用元标记。 这些属性需要HTTP-EQUIV,内容。 例如:http:// website / login&#34;&gt;
答案 2 :(得分:0)
我找到了解决方案,但没有使用javascript。 我添加了另一个html页面,我在提交表单时去了。 在这里,我从文本字段中提取数据(并调用一些PHP)。 然后我回到第一页使用php header命令,附加数据但不是按钮。 我仍然使用第一页上的javascript来更新状态列表,但是由于刷新而没有获得任何重复的按钮点击。