提交一次后隐藏一定天数的表格?

Hide form for certain amount of days after it has been submitted once?

我试图只在星期天显示模态。然后我试图只让用户在下周日之前提交一次表单。所以我有这个只在星期天显示元素:

    function test(){
     var rightNow = new Date();
     var day = rightNow.getDay();
     var Sunday = (day == 0);
     if(Sunday){
       document.querySelector('.modal-wrapper').style.display = 'block';
     } else {
       document.querySelector('.modal-wrapper').style.display = 'none';
     }
   }

但是,我很好奇如果 "Submit" 按钮已在模态内的表单上按下,我是否可以编写一些代码来不让模态显示。类似于:

if(submit === pushed) {
 //hide modal again until next Sunday
}

我敢肯定这对大多数 Whosebug 开发霸主来说是一个愚蠢的问题,但如果能提供一些帮助,我们将不胜感激。即使被指出正确的资源或技术来学习也很棒。谢谢

您可以使用 localStorage 来存储有关按钮被按下的一些信息。 https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

然后您可以从 localStorage 中获取项目并检查是否存储了您的值。所以你将能够知道是否有人点击了这个按钮。 但此信息只有在 localStorage 被清理之前才是可靠的。

看起来您正试图在 DOM 中完全执行此操作,但我认为更好的解决方案是将信息存储在用户的数据库记录中。 (假设您有一个存储用户信息的数据库)

在 Users table 中为 "Button Click." 添加一个布尔值 当用户单击按钮时,将状态更改为 TRUE 并每周重置为 FALSE

如果TRUE,不显示模态。