Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动作与表单提交之间的冲突_Javascript_Forms_Action_Settimeout_Onsubmit - Fatal编程技术网

Javascript 动作与表单提交之间的冲突

Javascript 动作与表单提交之间的冲突,javascript,forms,action,settimeout,onsubmit,Javascript,Forms,Action,Settimeout,Onsubmit,我正在用python开发一个应用程序。我有一个表单,点击它就会触发一个动作,以便在app.py中执行一个部件。但是,我希望按钮在24小时内只能点击一次。所以我尝试实现onsubmit事件。但是由于onsubmit首先被执行,我对app.py中与代码相关的操作部分有问题 1) 这是表格代码: <form name="Update" action="/update" method="post"> <input type="submit" id="myBtn" value=

我正在用python开发一个应用程序。我有一个表单,点击它就会触发一个动作,以便在app.py中执行一个部件。但是,我希望按钮在24小时内只能点击一次。所以我尝试实现onsubmit事件。但是由于onsubmit首先被执行,我对app.py中与代码相关的操作部分有问题

1) 这是表格代码:

 <form name="Update" action="/update" method="post">
    <input type="submit" id="myBtn" value="Update" onsubmit="myFunction()">
 </form>`
3) 我试图为表单提交启用超时的代码导致了冲突

<script>
  function myFunction() 
  {
    document.getElementById("myBtn").disabled = true;
    setTimeout(function()
    {
      document.getElementById("myBtn").disabled = false;
    }, 200000);
  }
</script>

函数myFunction()
{
document.getElementById(“myBtn”).disabled=true;
setTimeout(函数()
{
document.getElementById(“myBtn”).disabled=false;
}, 200000);
}
因为document.getElementById(“myBtn”).disabled=true;先打,动作部分不执行。请就如何处理这一问题提供帮助。提前感谢。

您可以尝试将“onsubmit”放在表单中,而不是输入中

<form name="Update" action="/update" method="post" onsubmit="myFunction()">
    <input type="submit" id="myBtn" value="Update">
</form>

js部分

<script>
  function myFunction() 
  {
      return true; /// form execution goes on
      return false; /// form execution stops
  }
</script>

函数myFunction()
{
返回true;///继续执行表单
返回false;///表单执行停止
}

感谢您的回复。我试着把“onsubmit”放在表单上,但是为了让按钮24小时只能点击一次,我的js部分应该是什么呢?我也会考虑这个问题。然而,第一印象是,JS方法不可靠,因为它位于客户端。例如,如果您检查客户机上的时间,它将是他们的本地时间。。
<script>
  function myFunction() 
  {
      return true; /// form execution goes on
      return false; /// form execution stops
  }
</script>