Отключить проверку элементов формы HTML5

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

Например, возьмите следующий скрипт :

def add_one(x):
    try:
        return x + 1
add_one(5)

Это возвращает IndentationError: unexpected unindent, когда проблема, конечно, является отсутствующим оператором except:.

Моя точка: проверьте код выше, где неожиданное (un) отступ сообщается!

402
задан Matt 18 April 2012 в 12:45
поделиться

5 ответов

Если вы хотите отключить проверку на стороне клиента для формы в HTML5, добавьте к элементу формы атрибут novalidate. Пример:

<form method="post" action="/foo" novalidate>...</form>

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

729
ответ дан 22 November 2019 в 23:32
поделиться

Если Вы отмечаете элемент формы, поскольку required="" затем novalidate="" не помогает.

А способ обойти required проверка к , отключают элемент .

0
ответ дан 22 November 2019 в 23:32
поделиться

можно добавить некоторый JavaScript к surpress те неприятные пузыри проверки и добавить собственные блоки проверки допустимости.

document.addEventListener('invalid', (function(){
    return function(e) {
      //prevent the browser from showing default error bubble / hint
      e.preventDefault();
      // optionally fire off some custom validation handler
      // myValidation();
    };
})(), true);
0
ответ дан 22 November 2019 в 23:32
поделиться

Я прочитал спецификацию и провел некоторые тесты в Chrome, и если вы поймаете событие "invalid" и вернете false, это, похоже, позволит отправить форму.

Я использую jquery, с этим HTML.

// подавление события "invalid" на входе URL $('input[type="url"]').bind('invalid', function() { alert('invalid'); return false; }); document.forms[0].onsubmit = function () { alert('форма отправлена'); };
 

Я не тестировал это в других браузерах.

32
ответ дан 22 November 2019 в 23:32
поделиться

Вместо того чтобы пытаться обойти проверку браузера, вы можете поместить http:// в качестве текста-заполнителя. Это с той самой страницы, на которую вы ссылались:

Placeholder Text

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

Вы, вероятно, уже встречали текст-заполнитель. Например, Mozilla Firefox 3.5 теперь включает текст-заполнитель в строке расположения, который гласит "Поиск закладок и истории":

enter image description here

Когда вы нажимаете на строку расположения (или вкладку), текст-заполнитель исчезает:

enter image description here

Как ни странно, Firefox 3.5 не поддерживает добавление текста-заполнителя в ваши собственные веб-формы. Такова жизнь.

Поддержка плашек

IE FIREFOX SAFARI CHROME OPERA IPHONE ANDROID
- 3.7+ 4.0+ 4.0+ - - -

Вот как вы можете включить текст-заполнитель в свои собственные веб-формы:

Браузеры, не поддерживающие атрибут placeholder, будут просто игнорировать его. Ни вреда, ни вреда. Проверьте, поддерживает ли ваш браузер текст placeholder.

Это будет не совсем то же самое, поскольку не обеспечит пользователю "отправную точку", но это, по крайней мере, половина пути.

13
ответ дан 22 November 2019 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: