所有表单都具有相同的字段ID

2024-09-30 14:31:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个表格,如果你勾选一个方框,很多输入都会被禁用

以下是表单字段的一个片段:

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()是一个自定义验证器,如果勾选了框,它会使一个字段成为可选的——这很有效。但是,我必须有多个ID,并且在我的JS代码中必须有多个getElementByID——现在我知道这会得到页面上第一个同名的元素,而拥有多个ID是一种不好的做法。但是如何将ID(或类似ID)的数量限制为一个

我的javascript代码是这样的,有多个ID:

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

这在.onchangeholsick复选框中。我想知道在WTForms中是否有一个ID(或类似的ID)来对应多个字段?我可能会有更多的字段需要在holsick被勾选时被禁用,所以对所有字段使用一个ID会更有效


Tags: idtimethisdocumentlabelvalidatorsholidaychecked