我正在用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;首先击中动作部分未执行。请提供有关如何解决此问题的帮助。预先感谢。
答案 0 :(得分:0)
您可以尝试以“提交”形式而不是输入形式。
<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>