javascript - 烧瓶表单 onchange this.form.submit() throws TypeError: 'HTMLString' object is not callable
问题描述
我想在 FlaskForm 的选择字段上实现 onchange="this.form.submit()" 。
按照这个答案(我没有代表直接对此发表评论),但它给了我一个错误。
我的表单域:
{{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 -```
解决方案
终于找到了一个对我有用的答案的问题。
这种格式给了我 onchange submit() 行为并且没有错误:
{{ render_field(form.result_name, onchange="this.form.submit()") }}