Фронтальная форма onchange this.form.submit () выбрасывает TypeError: объект 'HTMLString' не вызывается - PullRequest
1 голос
/ 24 октября 2019

Я хотел бы реализовать onchange = "this.form.submit ()" в поле выбора в FlaskForm.

После этого ответа (у меня нет представителячтобы прокомментировать это непосредственно), но это дает мне ошибку.

Мое поле формы:

            {{form.hidden_tag()}}
            <table>
                {{ render_field(form.result_name(**{"onchange":"this.form.submit()"})) }}

form_macros.html:

    <tr {% if field.errors %} class="error" {% endif %}>
        <td>{{ field.label }}</td>
        <td>{{ field(**kwargs)|safe }}</td>
    </tr>
    <tr class="error" >
        <td></td>
        <td>
            <ul>
                {% for error in field.errors %}
                    <li>{{ error }}</li>
                {% endfor %}
            </ul>
        </td>
    </tr>
{% endmacro %}

Когда я получаю доступ кФорма получения ошибки:

  File "...\anaconda2\envs\flask3\lib\site-packages\jinja2\runtime.py", line 262, in call
    return __obj(*args, **kwargs)
TypeError: 'HTMLString' object is not callable
127.0.0.1 - - [24/Oct/2019 12:55:52] "GET /drives/xdd_dev HTTP/1.1" 500 -```

1 Ответ

0 голосов
/ 24 октября 2019

Наконец выследил вопрос с ответом, который работал для меня.

Этот формат дает мне поведение onchange submit () и без ошибок:

{{ render_field(form.result_name, onchange="this.form.submit()") }}

...