Можностей, предоставляемых веб-разработчикам



Pdf көрінісі
бет142/232
Дата06.01.2022
өлшемі5,47 Mb.
#12231
1   ...   138   139   140   141   142   143   144   145   ...   232
К
АК ИЗБЕЖАТЬ ВАЛИДАЦИИ
Последний вопрос, на который мы должны ответить: Что если вы хотите отправить форму, 
но не хотите, чтобы браузер проводил ее валидацию? Такое тоже возможно. Но зачем вам 
это может понадобиться? Что если у вас есть многоуровневая форма для регистрации или 
отправки каких-либо данных? В длинных формах удобно выделять уровни (так, например, 


124  •  Глава 3
делает eBay, когда вы что-то продаете). Также пользователю может понадобиться сохранить 
состояние заявки, даже если форма еще не заполнена или заполнена неправильно.
Существует два способа отменить валидацию. Это можно сделать применительно к отдель-
ному элементу управления или к целой форме. Атрибут 
nonvalidate
, который может быть 
задан только для элемента формы, отменяет валидацию данного конкретного поля. Как 
я уже говорил в предыдущем разделе, если вы желаете отключить встроенные сообщения 
об ошибках (то есть маленькие облачка с текстом, появляющиеся под элементами ввода), 
но все так же иметь полный доступ к API JavaScript, который возвращает значения 
true
 
и 
false
 для состояний валидации поля, — это ваш выбор.
Второй метод — 
formnovalidate
, который используется уже сейчас, — можно приме-
нять к отдельным элементам ввода данных и кнопочным элементам (хотя, возможно, 
это имеет смысл только для 
type="submit"
 и 
type="button"
). Атрибут 
formnovalidate
 
по зво ляет отправить форму без выполнения валидации, которая требуется для полей 
формы. Приведенный ниже фрагмент кода создает для каждого элемента 

 кноп-
ку «save session», благодаря чему пользователь может каждый раз сохранять введенные 
данные, и валидация не выполняется до тех пор, пока не нажата заключительная кнопка 
отправки.

   

        Some bits about you
       

           
                        ¬ required />
       

       

           
           
       

                ¬formnovalidate />
   

С помощью свойства 
HTMLFieldSetElement.elements
 можно сделать так, чтобы при нажа-
тии кнопки «save session» выполнялась JavaScript-валидация только полей, расположенных 
внутри этого элемента 
fieldset
 (это свойство является новым в спецификации HTML5, так 
что, возможно, вам придется воспользоваться 
fieldset.getElementsByTagName
 и найти все 
нужные поля формы).


Достарыңызбен бөлісу:
1   ...   138   139   140   141   142   143   144   145   ...   232




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет