IE11 не повторная проверка формы после сброса формы - PullRequest
0 голосов
/ 22 октября 2018

Я использую проверку формы HTML5 и обнаружил странную проблему в IE11.Проблема не появляется в Chrome, Firefox, Opera или Edge.

По сути, IE11 не выполняет корректный сброс формы.Я ожидал бы, что сброс формы очистит все ошибки проверки и вернет значения формы к их начальным значениям.При следующей отправке я бы ожидал повторной проверки формы.

То, что происходит во время сброса формы, - это только сброс значений - состояния ошибки проверки (или даже успешная проверка), по-видимому, остаются, если толькопользователь меняет поле.

Единственный обходной путь, который я вижу для своего веб-приложения, - это перезагрузить страницу, а не выполнить сброс формы.Любые другие идеи?

Рабочий процесс выглядит следующим образом:

  1. Используя IE11, удалите текст из обязательного поля ввода.
  2. Нажмите Отправить, чтобы получить ошибку проверки.
  3. Нажмите кнопку Сброс, значение поля ввода вернется к исходному значению.
  4. Нажмите кнопку Отправить, получите ошибку проверки, но поле было заполнено с использованием начального значения.

    <!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>

1 Ответ

0 голосов
/ 23 октября 2018

Я могу создать проблему, но, к сожалению, для этой конкретной проблемы не существует никакого решения.

Вы можете попробовать использовать обходной путь, например сначала установить пустое значение для текстового поля, а затем сбросить форму с помощью JS.

<!DOCTYPE html>
<html>
<head>
  
<script type="text/javascript">

function resetfrm()
{
document.getElementById("txt1").value='';
document.getElementById("theForm").reset();

alert("clear");
}
</script>
</head>
<body>
  <form id="theForm" name="theForm">
    <input type="text" name="textBox" id="txt1" value="test" required>
    <input type="submit">
    <input type="button" onclick="resetfrm()" value="Reset">
  </form>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...