Flask WTForms идентичные идентификаторы полей - PullRequest
0 голосов
/ 04 мая 2019

У меня есть форма, в которой, если вы отметите флажок, многие входы станут недоступны.

Вот фрагмент поля формы:

holiday_sick = BooleanField('Holiday or Sick?', id="holsick", validators=[Optional()])
start_time = TimeField(label='Start Time', id='timepick1', format='%H:%M', validators=[OptionalIf('holiday_sick')])
end_time = TimeField(label='End Time', id='timepick2', validators=[OptionalIf('holiday_sick')])
driving_hours = TimeField(label='Driving Hours', id='timepick3', validators=[OptionalIf('holiday_sick')])

OptionalIf() - это пользовательский валидатор, который делает поле необязательным, если отмечен флажок - это работает.Однако мне нужно иметь несколько идентификаторов и иметь несколько getElementByIds в моем коде JS - теперь я знаю, что это получает первый элемент на странице с таким именем, и что наличие нескольких идентификаторов - плохая практика.Но как бы я ограничил количество идентификаторов (или аналогичных) одним?

Мой код JavaScript состоит из нескольких идентификаторов:

document.getElementById('timepick1').disabled = this.checked;
document.getElementById('timepick2').disabled = this.checked;
document.getElementById('timepick3').disabled = this.checked;

Это в пределах .onchange для holsick флажок.Мне было интересно, был ли в любом случае только один идентификатор (или аналогичный) в WTForms, чтобы соответствовать нескольким полям?Потенциально у меня будет больше полей, которые нужно будет отключить при пометке holsick, поэтому было бы эффективнее иметь один идентификатор для всех.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...