操作与提交表单时发生冲突



我正在python Flask中开发一个应用程序。我有一个表单,单击该表单时会触发操作以执行 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>`

2(action='/update" 在 app.py 中触发了这部分:

@app.route('/update',methods=['POST'])
def Update():
....
....
....
return render_template('index.html', output=output)  

3(我试图为导致冲突的表单提交启用超时的代码。

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

由于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>

最新更新