Як змусити працювати атрибут required для input в старих версіях - ie

Як змусити працювати атрибут required для input в старих версіях - ie

Для будь-якого web-розробника поки немає більш серйозної проблеми, як повна кроссбраузерность його продукту. Напевно, це одна з основних задач хорошого фахівця: домогтися того, щоб його сайт завжди правильно відображався у всіх браузерах.

Параметр required. який іноді використовується для input, не працює в древніх IE, що просто не можна так залишити. Користувачі-пенсіонери, які до сих пір користуються IE6 повинні однаково легко працювати з вашим сайтом, поряд з користувачами Google Chrome останньої версії. Хто, крім web-розробників, про них може подбати.

Про наболіле, про Internet Explorer

Для нормальних браузерів, до яких можна віднести Firefox, Opera і Google Chrome, ця задача щодо легка. Навіть давні версії цих браузерів однаково добре відображають html-код, якщо в ньому звичайно ж не використовуються якісь нові технології. Але щоб домогтися подібного в браузерах сімейства Internet Explorer, потрібні просто титанічні зусилля.

Кожна версія браузера Internet Exlorer має свою, унікальну тупістю. Що працює в IE6, може як покладено не працювати в IE7 і навпаки. Цей зоопарк компанії Microsoft не вдалося побороти навіть в самій останній версії свого браузера.

Зрозуміти чому розробники браузерів не можуть просто взяти відкрити і почитати стандарти W3C для сайтобудування, я не можу.

Тому мені, як web-розробнику, доводиться виступати деякої "прошарком" між примхливими браузерами і вимагають знань і видовищ відвідувачами сайтів. І чудово, що web-розробникам поки це вдається.

Дак, як же змусити працювати required в старих версіях IE?

На допомогу нам приходить JS. Раніше я терпіти його не міг, а тепер не бачу подальшого шляху без нього на просторі "правильного" WEB.

Рішення наведене нижче я вигадав не саме, а взяв з буржуйського блогу. Так як я жадібний, а блог буржуйський, я не стану наводити на нього посилання.

За все у нас буде відповідати функція fnCheckFields (). Помістіть на вашому сайті JS-код:

Зазвичай рекомендують розміщувати його між html-тегами HEAD на початку сторінки, але я б рекомендував все ж розміщувати його в самому низу сторінки до закривається тега BODY. Таким чином JS менше впливає на швидкість завантаження сторінки.

Вікно введення, де повинен вводитися обов'язковий параметр, на html-мовою повинно виглядати так:

Цей скрипт працює дуже просто: після натискання кнопки Надіслати. скрипт перевіряє всі інпут на наявність параметра required і якщо знаходить його, то відповідно дивиться на введене значення цього поля. Якщо в такий інпут нічого не введено, то виводиться застережливе вікно про необхідність введення. Дані відповідно нікуди не відправляються.

Чудово ще й те, що якщо у Вас нормальний браузер, який вже навчився розуміти цей параметр як годиться, такого попереджувального вікна не спливе і працюватимуть стандартні інструменти обробки параметра required для вашого браузера.