Как заполнить поле формы (не значение, а обычное поле для пользовательского ввода) на основе выбранного значения из MultiSelect? - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь заполнить поле формы на основе значения выбора из 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'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...