HTML5 Обязательный атрибут не применяется в FormObject.submit () - PullRequest
1 голос
/ 19 июля 2011

HTML5 позволяет легко вводить значение, которое имеет значение: вау! Это было бы здорово в веб-приложении .NET. Я быстро реализовал это и заметил кое-что интересное. Мое новое обязательное поле ввода было введено в действие при нажатии кнопки «Отправить» и при входе в систему из элемента управления формы, который использует функцию браузера «Вводит-отправляет-форму». Мой новый обязательный ввод не применяется, когда элемент управления вызывает __doPostback (который, в конце концов, вызывает form.submit ()).

Ну, это не правильно! Что случилось с Firefox ?! Но вот как это работает в Chrome, так что это либо совпадение, что они оба не правы, либо они оба не правы.

Так может кто-нибудь сказать мне, почему это имеет смысл? Кажется, что этот аккуратный атрибут никогда не мог бы использоваться в веб-приложениях .NET, потому что только другой метод для отправки формы - это вызов __doPostback, когда браузер не обрабатывает ее, что приводит к тому, что требуемая проверка происходит только иногда. Но в других случаях это имеет смысл, например, когда устанавливается ссылка для отправки обратно в форму перед переходом пользователя на другую страницу: мы не хотим, чтобы пользователь застрял, когда он думает, что он просто уходит.

1 Ответ

2 голосов
/ 20 июля 2011

Я не могу сказать вам, почему это имеет смысл, но FF и Chrome правы в этом поведении. Если вы хотите подтвердить это, вы должны нажать кнопку «Отправить».

В проверке html5 есть и еще одна странная вещь: метод checkValidity не вызывает встроенный интерфейс проверки (в Opera это происходит, но это является нарушением спецификации), хотя и вызывает недопустимое событие. Было бы здорово иметь программный API для отображения интерфейса валидации, но пользователь может увидеть его только через интерактивную валидацию.

...