2016-09-10 4 views
0

В моем коде у меня есть следующие строки кода:как обращаться onfocusout, валидация HTML

<input type="text" name="fname" id="first" onfocusout="firstNameHandler()"> 

, когда я запускаю его через HTML валидатор (требуется как для академических целей), то флаги, которые, как проблема. Вот моя проблема: мне нужно onfocusout, поскольку у нас есть поля ввода текста, и когда вы пишете свое имя, например, john, оно превращает его в Джона. Это должно произойти только тогда, когда вы больше не находитесь в фокусе указанного поля ввода текста.

Следовательно, как правильно обращаться с этим?

ответ

1

Да, onfocusout не переносится и не работает в Firefox. Для Internet Explorer:

function isIE() { var myNav = navigator.userAgent.toLowerCase(); return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false; }

Тогда, так как IE 9 и более поздних версий поддержка ONBLUR, но IE 8 и более ранние версии не:

if (isIE() && isIE() < 9) { // is IE version less than 9 // insert code to tell the user that they are using a version of // internet explorer that doesn't work with your page // and is outdated.
}

else { // is IE 9 and later or not IE // This means that this will (probably) work // unless the user is using an extremely outdated browser // or one that doesn't support JavaScript.
}

+0

Гоча, спасибо для пояснений и примеров кода. – SomeStudent

0

Хмм, нашел решение использовать onblur вместо onfocusout, однако мне интересно, какой будет подход IE к этому, IE, если я не ошибаюсь, является особенным во всех возможных формах.

Смежные вопросы