Javascript 为每个用户单击后禁用按钮

Javascript 为每个用户单击后禁用按钮,javascript,php,html,Javascript,Php,Html,我正在使用PHP HTML和少量JS开发一个预算应用程序 我想有一个导入按钮,用户只能点击一次,然后它被禁用或隐藏,即使他们刷新页面,但对于一个新用户,它将仍然可用,直到他们点击它 我尝试过这样的代码,但每次刷新后都可以再次单击 <form action='/' method='POST' onsubmit='disableButton()'> <input name='txt' type='text' required /> <button id=

我正在使用PHP HTML和少量JS开发一个预算应用程序

我想有一个导入按钮,用户只能点击一次,然后它被禁用或隐藏,即使他们刷新页面,但对于一个新用户,它将仍然可用,直到他们点击它

我尝试过这样的代码,但每次刷新后都可以再次单击

<form action='/' method='POST' onsubmit='disableButton()'>
    <input name='txt' type='text' required />
    <button id='btn' type='submit'>Post</button>
</form>

<script>
    function disableButton() {
        var btn = document.getElementById('btn');
        btn.disabled = true;
        btn.innerText = 'Posting...'
    }
</script>

邮递
函数禁用按钮(){
var btn=document.getElementById('btn');
btn.disabled=true;
btn.innerText='Posting…'
}

有什么方法可以做到这一点吗?

对于这一点,正如其他一些人所说,您将需要一个后端数据库,但是,我们也可以使用本地存储和cookie来实现这一点。以下是您如何做到这一点:

<form action='/' method='POST' onsubmit='refresh()'>
    <input name='txt' type='text' required />
    <button id="refresh" type='submit'>Post</button>
</form>
<script>
  const refreshBtn = document.getElementById("refresh");
  refreshBtn.addEventListener("click", refresh);
  disable();

  function disable() {
    if (localStorage.getItem("disableButton?")) {
      refreshBtn.setAttribute("disabled", ""); 
    }
  }
  
  function refresh() {
    localStorage.setItem("disableButton?", "yes");
  };
</script>

邮递
const refreshBtn=document.getElementById(“刷新”);
refreshBtn.addEventListener(“单击”,刷新);
禁用();
函数禁用(){
if(localStorage.getItem(“disableButton?”)){
refreshBtn.setAttribute(“已禁用”、“已禁用”);
}
}
函数刷新(){
setItem(“disableButton?”,“yes”);
};
代码说明: 提交表单时,它会将单击按钮保存在本地存储中。然后,当用户返回时,它运行
disable()
,检查本地存储值是否存在,如果存在,则禁用submit按钮

如果这样不行,请告诉我


(另外,如果用户清除了历史记录和cookies,那么用户将能够提交表单,因此最好使用数据库来完成此操作。)

您将需要使用后端数据库,
localStorage
cookies
您想知道它是由帐户用户禁用的还是由他的web界面禁用的?如果是由帐户用户禁用的,您需要一个数据库,如果不是,您将使用localstore。你应该使用一个数据库,因为如果他使用firefox并禁用它,在chrome上就不会禁用它。如果他清理web存储和cookie,他将再次启用它。我更愿意使用我的数据库用户来完成这项工作。我有一个mysql数据库,存储用户名、会话id、密码等。感谢您的回复!我有一个使用MySQL的后端数据库。我使用PHP通过mysqli访问它,并且我有一个用户登录系统。目前,我利用会话id和用户名在代码的其他区域识别它们。我只是不知道如何一起使用JS和PHP来完成我在这里要做的事情。不过我一定会试试的!