使用Flask wtf_表单根据无线电场选择显示/隐藏输入字段或div
我试图建立网站使用烧瓶,并没有找到一个问题的解决方案。我试图隐藏或显示输入字段,基于RadioFeild的选择。此外,如果输入字段显示,则必须是必需的。事实上,除了知道选择了什么样的射野外,我的一切都正常工作。在127.0.0.1:5000上加载页面时,我可以看到表单,我可以看到带有两个选项的RadioField:是和否,但当我单击是时,没有任何更改,隐藏的输入字段仍然没有显示。求求你,救命使用Flask wtf_表单根据无线电场选择显示/隐藏输入字段或div,flask,jinja2,flask-wtforms,hidden-field,Flask,Jinja2,Flask Wtforms,Hidden Field,我试图建立网站使用烧瓶,并没有找到一个问题的解决方案。我试图隐藏或显示输入字段,基于RadioFeild的选择。此外,如果输入字段显示,则必须是必需的。事实上,除了知道选择了什么样的射野外,我的一切都正常工作。在127.0.0.1:5000上加载页面时,我可以看到表单,我可以看到带有两个选项的RadioField:是和否,但当我单击是时,没有任何更改,隐藏的输入字段仍然没有显示。求求你,救命 app.py class MyClass(FlaskForm): my_field = Rad
app.py
class MyClass(FlaskForm):
my_field = RadioField("bla-bla-bla", choices=[('Yes', 'Yes'), ('No', 'No')], validators [InputRequired()])
@app.route("/some_page")
def some_page():
form = MyClass()
return render_template("some_page.html", form=form)
_render_field.html
{% macro render_radio_field(field) %}
<div class="form__item">
<label class="form__label">{{field.label.text }}</label>
<div class="form-group">
{{ field(class_='form__input', **kwargs)|safe }}
{% for subfield in field %}
<div class="form__item">
<label>
{{ subfield }}
{{ subfield.label.text }}
</label>
</div>
{% endfor %}
</div>
</div>
{% endmacro %}
some_page.html
{% from "_render_field.html" import render_field, render_radio_field %}
{% extends "layout.html" %}
{% block title %}My Title{% endblock %}
{% block content %}
<div style="width:600px; margin:0 auto;">
<h3>Some Text</h3>
<form class="form" action="{{url_for('some_page')}}" method="POST">
{% from "_render_field.html" import render_field, render_radio_field %}
{{ form.csrf_token }}
{{ render_field(my_field, title="", style="list-style:none") }}
{% if form.my_field.option == "Yes" %}
{{ render_field(form.some_other_StringField, placeholder="Please explain:", title="") }}
{% endif %}
<input type="submit" name="" value="login" class="form__btn">
</form>
</div>
{% endblock %}
app.py
类别MyClass(烧瓶形式):
my_field=RadioField(“bla-bla-bla”,选项=[('Yes','Yes'),('No','No')],验证器[InputRequired()])
@应用程序路径(“/some\u page”)
定义某些页面():
form=MyClass()
返回呈现模板(“some\u page.html”,form=form)
_render_field.html
{%macro render_radio_field(field)%}
{{field.label.text}
{{field(class='form'uu输入',**kwargs){safe}
{字段%中的子字段为%1}
{{子字段}}
{{subfield.label.text}
{%endfor%}
{%endmacro%}
一些页面.html
{%从“\u render\u field.html”导入render\u field,render\u radio\u field%}
{%extends“layout.html”%}
{%block title%}我的标题{%endblock%}
{%block content%}
一些文本
{%从“\u render\u field.html”导入render\u field,render\u radio\u field%}
{{form.csrf_token}
{{render_字段(my_字段,title=“”,style=“list style:none”)}
{%if form.my_field.option==“Yes”%}
{{render_field(form.some_other_StringField,placeholder=“Please explain:,title=”“)}
{%endif%}
{%endblock%}