в wtforms, я бы хотел, чтобы мой SelectField заполнялся выбранным значением StringField. Я использую колбу, загрузчик и Python 3.7
Мой HTML-код выглядит следующим образом:
{% block body %}
<h3>Edit Bloomberg ticker details</h3>
{% from "includes/forms/_form_helpers.html" import render_field %}
<div class="form-group" id="company_id" onchange="myFunction(event)">
{{render_field(form.company_names, class_="form-control")}}
</div>
<div class="form-group" id="isin_id">
{{render_field(form.isin_id, class_="form-control")}}
</div>
<script>
function myFunction(e) {
document.getElementById("isin_id").value = e.target.value
}
</script>
{% endblock %}
И Pyhon сзади выглядит следующим образом:
class DefTickerForm(_Form):
choices_companies = [(1,'Facebook'), (2, 'Google') ]
company_names = _SelectField(label='Company names:', choices=choices_companies, coerce=int)
isin_id = _StringField(label='isin_id', validators=[_validators.DataRequired], default=-1)
Я бытак, когда пользователь выбирает «Facebook», isin SelectField будет равен 1. Но пока он ничего не делает. Обратите внимание, что если код:
alert(e.target.value)
, я получу требуемое значение. поэтому проблема заключается в установке значения TextField.
мой код поля рендеринга выглядит следующим образом (из учебника YouTube):
{% macro render_field(field) %}
{{ field.label }}
{{ field(**kwargs)|safe }}
{% if field.errors %}
{% for error in field.errors %}
<span class="help-inline"> {{ error }}</span>
{% endfor %}
{% endif %}
{% endmacro %}
Любая помощь будет высоко цениться, поскольку Google не такхорошо на них. Лучший