IE11 здесь, работает в других браузерах (см. Рисунок).
У меня есть форма с набором переключателей.
Радиокнопки имеют атрибут required
Когда я загружаю страницу и запускаю функцию checkValidity()
в форме, она возвращает false
. Это правильно.
Я проверяю переключатель. Я запускаю функцию checkValidity()
в форме, она возвращает true
. Это правильно.
Когда я нажимаю кнопку сброса ввода, это очищает мой выбор переключателя, однако, когда я запускаю функцию checkValidity()
в форме, она возвращает true
. Это неверно.
Это нарушение спецификации HTML. (см. https://www.w3.org/TR/html52/sec-forms.html#value-sanitization-algorithm)
Такое поведение происходит только в IE, есть какие-нибудь мысли по поводу этого?
Я добавил фрагмент кода ниже с примером моей проблемы.
label {
display: block;
margin-bottom: 20px;
}
<form id="foo">
<label><input type="radio" name="xx" value="This" required> This</label>
<label><input type="radio" name="xx" value="That" required> That</label>
<label><input type="radio" name="xx" value="other" required> Other </label>
<input type="reset" value="Reset Button">
<input type="button" value="JS Reset Form" onClick="this.form.reset()" />
<input type="button" value="Is Valid?" onClick="alert(this.form.checkValidity())" />
</form>