Я пытаюсь заполнить поле формы на основе значения выбора из MultiSelect, но я не уверен, как это сделать.
У меня есть требование, при котором множественный выбор имеет такие параметры, как "CPT, LAB". Если выбран CPT, заполните следующее поле формы с именем «Count», а если выбран LAB, заполните поле с именем «Result Type».
Как мне этого добиться?
Ниже находится файл forms.py
class RegistrationForm(FlaskForm):
dataPoint_choice = [('CPT', 'CPT'), ('LAB', 'LAB'), ('DI', 'DI')]
dataPoint = SelectMultipleField(label = 'Select Data Points', choices=dataPoint_choice, id='dataPoint')
count = IntegerField('Count', render_kw={'placeholder': 'Count #'}, validators=[Optional()], id='count')
resultType = IntegerField('Count', render_kw={'placeholder': 'Lab Result Type (Ex. String, Numeric..)'}, validators=[Optional()], id='resultType')
submit = SubmitField('Submit')
Ниже находится файл .html
<div class="form-group">
{{ form.dataPoint.label(class="form-control-label") }}
{% if form.dataPoint.errors %}
{{ form.dataPoint(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.dataPoint.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.dataPoint(class="form-control form-control-lg") }}
{% endif %}
</div>
<div class="form-group">
{{ form.count.label(class="form-control-label") }}
{% if form.count.errors %}
{{ form.count(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.count.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.count(class="form-control form-control-lg") }}
{% endif %}
</div>
<div class="form-group">
{{ form.resultType.label(class="form-control-label") }}
{% if form.resultType.errors %}
{{ form.resultType(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.resultType.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.resultType(class="form-control form-control-lg") }}
{% endif %}
</div>
</fieldset>
<div class="form-group">
{{ form.submit(class="btn btn-outline-info") }}
</div>
И ниже файл main.py:
def register():
form = RegistrationForm()
if form.validate_on_submit():
flash(f'Test Script created successfully!')
multiSelectValue = (request.form.getlist('dataPoint'))