【发布时间】:2018-03-06 15:14:46
【问题描述】:
我正在尝试使用 jinja2 和 flask-wtf 在烧瓶应用程序中呈现表单,但无法弄清楚如何处理为 onclick 添加生成的参数,该参数包含作为其参数一部分的属性。
您可以在表单标签部分看到我已将 onclick 设置为调用 javascript 函数并传递当前循环对象的 name 属性,这可以按预期工作。但是,当我在表单字段部分时,我需要将 onclick 作为关键字参数传递给循环对象,并且需要将我的参数的参数设为对象名称属性。这不起作用。
这是一个简短的例子:
<form class="form">
{% for entry_field in form %}
{{ entry_field.label() }}
{{ entry_field(onclick="jsFunction({{entry_field.name}})}}
{% endfor %}
</form>
这是一个完整的例子:
<form id="reg_form" class="form text-left" method="post" role="form">
{{ form.csrf_token }}
{% for entry_field in form %}
{% if entry_field != form.csrf_token %}
<div class="form-group row">
<!--form label-->
<a href="#" onclick="showNotes('{{entry_field.name}}')">
{{ entry_field.label(class="col-sm-3 col-form-label") }}
</a>
<!--form field-->
<div class="col-sm-9">
{{ entry_field(class_="form-control", onclick="showNotes('{{entry_field.name}}')") }}
{% for error in entry_field.errors %}<span style="color: red;">{{ error }}</span>{% endfor %}
</div>
</div>
{% endif %}
{% endfor %}
<!--form submit-->
<div class="form-group row">
<div class="col-sm-9 col-sm-offset-3">
<input type="submit" class="btn btn-lg btn-success" value="Submit">
</div>
</div>
</form>
非常感谢任何帮助!
【问题讨论】:
-
你试过
{{ entry_field(onclick=("jsFunction(%s)" | format(entry_field.name)) }}吗? -
成功了!谢谢!
标签: python flask jinja2 flask-wtforms