【问题标题】:How to clear button clicks when using javascript to refresh my html page?使用javascript刷新我的html页面时如何清除按钮点击?
【发布时间】:2015-05-08 01:07:07
【问题描述】:

我正在使用来自How to automatically reload a page after a given period of inactivity 的 java 脚本每 30 秒刷新一次我的 html 页面,效果很好。该页面包含一个表单、一些按钮和一些文本字段。该表单还包含一个在页面刷新时更新的状态列表。单击按钮时,会将相应的值发送回服务器。问题是,一旦我单击了一次按钮,由于 javascript 的刷新,它每 30 秒重复一次。 第一次点击后如何删除按钮? 我想保留文本字段中的值。

【问题讨论】:

  • 添加了关于状态列表的信息,这是页面自动重新加载的原因
  • 您是否定义了处理程序?您是否向按钮添加任何事件侦听器?
  • @ Nielarshi:是的,我有一个按钮的事件监听器,但它看起来就像一旦提交表单,刷新时值仍然存在。我已经测试过更改一些文本字段,它们通过刷新恢复:(

标签: javascript html variables page-refresh


【解决方案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);

【讨论】:

  • 使用重置时文本字段中的值不会保留。仅在单击具有上述解决方案的按钮时才会刷新,而不是每 30 秒刷新一次。有没有办法只清除一些值?
  • 我已经编辑了我的答案,只有在 30 秒后没有任何活动并且没有点击按钮时,页面才会刷新。
  • 由于 clickFlag==true 仍然存在,页面是否仍需要按键才能重新加载?
【解决方案2】:

您可以使用元标记。 这些属性 HTTP-EQUIV,content 是必需的。 例如:http://website/login">

【讨论】:

  • 我不明白这对这里有什么帮助?
【解决方案3】:

我找到了解决方案,但不是通过使用 javascript。 我添加了另一个 html 页面,我在提交表单时会转到该页面。 在这里,我从文本字段中提取数据(并调用一些 php)。 然后我使用 php header 命令返回到第一页,附加了数据,但没有附加按钮。 我仍然使用第一页上的 javascript 来更新状态列表,但由于刷新,不会出现任何重复的按钮点击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2014-04-10
    • 2015-07-05
    • 1970-01-01
    • 2013-10-10
    相关资源
    最近更新 更多