如何使用flask-wtf传递html select onChange上的参数

时间:2016-06-23 23:59:24

标签: javascript jquery flask wtforms

以下烧瓶代码会创建一个select ..选项下拉菜单:

模型:

class SelectForm(Form):
    country = SelectField('Country', choices=[
        ('us','USA'),('gb','Great Britain'),('ru','Russia')])

烧瓶app:

@app.route('/new')
def new():
    form = SelectForm()
    return render_template('new.html', form = form )

html文件:

<form method=post action="/register">
    {{ render_field(form.country) }}
  <p><input type=submit value=Register>
</form>

宏文件定义了render_field:

{% macro render_field(field) %}
  <dt>{{ field.label }}
  <dd>{{ field(**kwargs)|safe }}
  {% if field.errors %}
    <ul class=errors>
    {% for error in field.errors %}
      <li>{{ error }}</li>
    {% endfor %}
    </ul>
  {% endif %}
  </dd>
{% endmacro %}

让onchange自动提交结果的最佳方法是什么,而无需用户按下提交按钮?有没有办法改变宏或什么是最优雅的方式?

感谢

1 个答案:

答案 0 :(得分:4)

可以通过添加javascript onchange函数作为属性

来完成
<form method=post action="/register">
    {{ render_field(form.country(**{"onchange":"this.form.submit()"})) }}
  <input type=submit value=Register>
</form>