Я использую проверку формы HTML5 и обнаружил странную проблему в IE11. Проблема не проявляется в Chrome, Firefox, Opera или Edge.
По сути, IE11 не выполняет сброс формы правильно. Я ожидал бы, что сброс формы очистит все ошибки проверки и вернет значения формы к их начальным значениям. При следующей отправке я ожидаю, что форма будет повторно проверена.
Кажется, что во время сброса формы происходит сброс только значений - состояния ошибок проверки (или даже успешная проверка), похоже, остаются, пока пользователь не изменит поле.
Единственный обходной путь, который я вижу для своего веб-приложения, - это перезагрузить страницу, а не выполнять сброс формы. Есть другие идеи?
Рабочий процесс выглядит следующим образом:
- Используя IE11, удалите текст из обязательного поля ввода.
- Нажмите «Отправить», получите ошибку проверки.
- Нажмите «Сброс», значение поля ввода вернется к исходному значению.
- Нажмите «Отправить», получите сообщение об ошибке проверки, но поле заполнено с использованием начального значения.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<form id="theForm" name="theForm">
<input type="text" name="textBox" value="test" required>
<input type="submit">
<input type="reset">
</form>
</body>
</html>