Flask-WTForms自动提交onchange且宏不起作用

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

我希望我的表单在最后一个字段检测到输入后自动提交。这是基于在网上可以找到的内容,在HTML方面的内容,我知道我可能会丢失一些东西...

{% extends "base.html" %}

{% from 'bootstrap/form.html' import render_field %}

{% block content %}
    <img src="/static/logo.jpg"  alt="logo" width="50%" height="auto">
    <h1>Scan ABC...</h1>
    <form action="" method="post" novalidate>
        {{ form.hidden_tag() }}
        <p>
            {{ form.A.label }}<br>
            {{ form.A(autofocus=true, required=true, size=32) }}
        </p>
        <p>
            {{ form.B.label }}<br>
            {{ form.B(required=true, size=32) }}
        </p>
        <p>
            {{ form.C.label }}<br>
            {% macro render_field(C(**{required=true, size=32, onchange="this.form.submit()"})) %}
            {% endmacro %}
        </p>
        <p>{{ form.submit() }}</p>
    </form>
{% endblock %}

这是我的表格。py

from flask_wtf import FlaskForm
from wtforms import StringField, IntegerField, SubmitField
from wtforms.validators import DataRequired


class Form(FlaskForm):
    A= StringField('A', validators=[DataRequired()])
    B= StringField('B', validators=[DataRequired()])
    C= IntegerField('C', validators=[DataRequired()])
    submit = SubmitField('Submit')

我收到此错误

jinja2.exceptions.TemplateSyntaxError: expected token ',', got '('

在此行

{% macro render_field(weight(**{required=true, size=32, onchange="this.form.submit()"})) %}
python flask jinja2 wtforms
1个回答
0
投票

就我而言,我只使用onchange =“ submit()”,例如:

{{ filterform.search_text(class="form-control-button", onchange="submit()") }}

这导致:

<input checked class="form-control-button" id="search_keywords" name="search_keywords" onchange="submit()" type="checkbox" value="y">

也许您想尝试onchange =“ submit()”?

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