我正在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>