我用FieldList
实现了WTForm的SelectField
,以根据JSON文件(as stated in this answer)中的数据呈现多个选择选项。它可以很好地显示选择选项,但是当我尝试通过SubmitField()
表单传递用户选择的所有值时,请求仅包含第一个值。
问题:如何从路线中的多个SelectField中访问所有选定的值?
有趣的提示:
FieldList
进行了同样的StringFields
处理,并获得了请求中期望的每个值。 (为什么SelectFields
会有所不同?)Ford
,Associate
和Bucks
是选择字段中的值。Ford
。为什么也不Associate
和Bucks
呢? 我的表单(forms.py
):
class SelectForm(FlaskForm):
select = SelectField(choices=[]) #TODO testing without placeholder
class SelectFormList(FlaskForm):
"""A form that supports multiple select forms"""
select_entries = FieldList(FormField(SelectForm))
我的模板(home.html
):
<form id="metadata_home_fom" action="{{ url_for('save_metadata') }}" method="POST">
{% for select_form in select_metadata_form_list.select_entries %}
{{ select_form.hidden_tag() }}
{{ select_form.select.label }}: {{ select_form.select }}
{% endfor %}
{% for text_form in text_metadata_form.text_fields %}
{{ text_form.hidden_tag() }}
{{ text_form.text }}
{% endfor %}
</form>
我的视图(routes.py
):
@app.route('/home', methods=['POST', 'GET'])
def home():
select_metadata_form_list = SelectFormList()
select_metadata_form_list.select_entries = get_select_entries()
context = {"text_metadata_form": text_metadata_form,
"select_metadata_form_list": select_metadata_form_list}
return render_template('configuration.html', **context)
答案 0 :(得分:0)
问题是我在循环中创建表单而不覆盖表单的
$job->notes->attachments
,因此每个var fruits = document.querySelectorAll(".demo")
具有相同的名称。
快速解决方案是在名称后附加一个唯一ID:
name