У меня есть форма, в которой, если вы отметите флажок, многие входы станут недоступны.
Вот фрагмент поля формы:
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
, поэтому было бы эффективнее иметь один идентификатор для всех.