【问题标题】:Keep dropdown menu open after page refresh页面刷新后保持下拉菜单打开
【发布时间】:2021-04-09 11:11:34
【问题描述】:

我的下拉菜单中有一个用于登录的表单。如果用户提交了该表单但登录详细信息错误,则页面会刷新并且下拉菜单会关闭。刷新该页面后如何使下拉菜单保持打开状态?

【问题讨论】:

标签: javascript html drop-down-menu dropdown


【解决方案1】:

首先,我会检查是否有一种方法可以在不刷新页面的情况下提交表单,方法是异步发出请求并防止页面刷新的默认行为。 所以在你的表单提交中,你可以这样做: event.preventDefault() 然后异步处理请求。这样,您将保留您的状态。

但是,如果您出于某种原因确实需要刷新页面,那么我可能会为此使用本地存储。因此,您可以在浏览器的本地存储中存储一些标志,以检查下拉菜单是否处于打开状态,例如: localStorage.setItem('dropdownWasOpen', 'true');

然后,每当刷新页面时,您就会再次使用 localStorage.getItem('dropdownWasOpen') 从本地存储中读取数据。

【讨论】:

  • 如何检查下拉菜单是否处于打开状态?我试过了,但我想不通。
  • 请在 JSFiddle 中分享您的代码,以便我查看实际情况。如果要保持状态,则应避免刷新页面。因为如果页面被刷新,那么再次“以编程方式”为用户打开下拉菜单并不容易。最简单的方法是简单地使用 JavaScript 异步提交表单,并防止默认行为。另外,我不确定下拉菜单是原生 HTML 选择,还是自定义下拉菜单。
  • 设法摆脱了另一个,只是我需要稍微扭转一下。标记为答案!
  • 很高兴你修好了 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-28
  • 1970-01-01
  • 2014-03-25
相关资源
最近更新 更多