Почему Chrome показывает всплывающую подсказку «Пожалуйста, заполните это поле» в пустых полях?

Я связался со своим клиентом, заявив, что пользователи жалуются, что некоторые поля теперь показывают всплывающую подсказку с сообщением «Пожалуйста, заполните это поле». Я не мог поверить, что я слышал … но клиент прав – с использованием последней версии Chrome некоторые поля показывают всплывающую подсказку браузера с этим сообщением, даже бок о бок с моими валидаторами!

В чем проблема? Что мне не хватает?

Благодарю.

РЕДАКТИРОВАТЬ:

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

 

РЕДАКТИРОВАТЬ:

Мой doctype выглядит следующим образом:

  

Должен ли мой браузер использовать HTML 5 для его анализа?

Используете ли вы атрибут HTML5?

Это заставит Chrome 10 отобразить воздушный шар, предлагающий пользователю заполнить поле.

https://www.w3.org/TR/html5/sec-forms.html#element-attrdef-form-novalidate

Вы можете отключить проверку в форме.

Поместите novalidate="novalidate" в

.

 
...

В XHTML запрет атрибутов запрещен, а атрибут novalidate должен быть определен как

.

http://www.w3schools.com/tags/att_form_novalidate.asp

Чтобы остановить всплывающее окно Html5 в браузере Web-kit, используйте следующий CSS

 ::-webkit-validation-bubble-message { display: none; } 

Как я уже говорил в вашем другом вопросе :

Проблема, связанная с тем, что вы изобрели свои собственные нестандартные атрибуты (которые вы не должны были делать в первую очередь), а теперь новые стандартизованные атрибуты (или атрибуты в процессе стандартизации) сталкиваются с ними ,

Правильное решение – полностью удалить ваши изобретенные атрибуты и заменить их чем-то разумным, например, classами ( class="Montantetextfield fieldname-Montante required allow-decimal-values" ) или сохранить их в JavaScript:

 var validationData = { "Montante": {fieldname: "Montante", required: true, allowDecimalValues: true} } 

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

Вам нужно добавить атрибут «formnovalidate» в элемент управления, который запускает проверку браузера, например:

  

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

Чтобы избежать встроенной проверки браузера в форматах, вы можете использовать атрибут «novalidate» в теге формы. Эта форма не будет проверена браузером:

 

В Chrome (v.56 – это то, что я использую, но я AFAIK это применимо в целом) вы можете установить title = “” (одно место), а текст автоматического заголовка будет переопределен и ничего не отображается. (Если вы попытаетесь сделать его просто пустой строкой, тем не менее, он будет обрабатывать его, как если бы он не был установлен, и добавить этот автоматический текст всплывающей подсказки, который вы получали).

Я не тестировал это в других браузерах, потому что нашел его, создав расширение Google Chrome. Я уверен, что когда я переношу вещи в другие браузеры, я посмотрю, работает ли в них (даже если это необходимо).

Эй, мы просто сделали глобальную find-replace, изменив Required = “ на jRequired =” . Затем вы просто изменяете его в коде jquery (jquery_helper.js -> Function ValidateControls). Теперь наша проверка продолжается по-прежнему, и Chrome оставляет нас в покое! 🙂

Interesting Posts

Поиск в каталоге в командной строке Windows показывает неправильный вывод

Что это за синтаксис определения странных функций в C?

Как предотвратить Windows 10 Tech Preview от перехода на новую тестовую сборку?

Swing: кнопки переключения каналов вместе с группой кнопок вместе с соответствующими пунктами меню

Как заострить изображение в OpenCV?

Почему этот код SSE в 6 раз медленнее без VZEROUPPER на Skylake?

Как заблокировать сайт в хроме

Могу ли я получить проверку орфографии в MS Word, чтобы помнить мои грамматические решения?

Как передать несколько параметров в querystring

Android: Как создать уведомление «Ongoing»?

Жесткий диск, процессор или другая проблема?

ExecuteExcel4Macro, чтобы получить значение из закрытой книги

Где ошибка CS0433 «Тип« X »уже существует как в A.dll, так и в B.dll?

Алгоритм автоматической компоновки графики

Ищете новый бесплатный брандмауэр (у Sunbelt есть огромная дыра)

Давайте будем гением компьютера.