Java脚本未使用提交功能触发路由

问题描述 投票:0回答:1

我有以下路线用于表格:

@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路线的。为什么要这样?

javascript python flask submit wtforms
1个回答
0
投票

在您的代码更改方法中具有回调函数和内部回调函数中,this引用当前的回调函数作用域,该作用域没有任何提交方法。

使用jquery或vanilla Js提取表单对象。var form = dcument.getElementById(“ form”);$(形式).submit();

© www.soinside.com 2019 - 2024. All rights reserved.