我有以下路线用于表格:
@app.route('/form/', methods=['POST'])
def form():
form = Form()
....
并且表单在HTML中输入为:
<form class="autoSubmit" id="form" action="{{ url_for('form') }}" method="POST">
{{ form.hidden_tag() }}
....
当更改任何表单元素时,将调用以下Java脚本:
<script>
$('.autoSubmit').change(function () {
console.log('Form has changed!')
$(this).submit();
});
</script>
此函数is每当发生更改时即被调用,即消息“表格已更改!”。打印到控制台。但是,该表单是not提交给form
路线的。为什么要这样?
在您的代码更改方法中具有回调函数和内部回调函数中,this引用当前的回调函数作用域,该作用域没有任何提交方法。
使用jquery或vanilla Js提取表单对象。var form = dcument.getElementById(“ form”);$(形式).submit();