2012-10-27
HTML5 placeholder аттрибут в IE
Есть такой аттрибут в HTML5 - placeholder - он используется для создания серенькой подсказки для элементов ввода, что очень удобно. Большинство браузеров уже вовсю поддерживают placeholder, Но к сожалению, эта штука не работает в IE, и по этой причине placeholder используется не часто.
Сделал небольшой скрипт для jquery, который добавляет поддержку placeholder в этом замечательном браузере:
$(function(){ //fix placeholders in IE if ($.browser.msie){ $('input[placeholder]').each(function(){ if (this.value==''){ var original_value = this.value; var this1 = this; var value = this.value = this.getAttribute('placeholder'); this.style.color = 'gray'; $(this).focus(function(){ if (this.value==value){ this.value = ''; this.style.color = 'black'; } }); $(this).blur(function(){ if (this.value==''){ this.value = value; this.style.color = 'gray'; } }); $(this.form).submit(function(){ //restore original value if (this1.value==value){ this1.value = original_value; } }); } }); } });
Надеюсь, кому-нибудь поможет.
Upd. Обновил скрипт, сделал восстановление оригинальных значений при сабмите формы.
разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться
комментарии:
Спасибо за решение. Помогло, перед этим еще три штуки перепробовал jquery фиксов.
Огромное спасибо, помогло!
Да не за что на самом деле решение не идеально, так как плейсхолдер еще должен исчезать при сабмите формы, нужно будет поправить.
Ну тогда ждем от вас новой версии :)
Ваше решение очень помогло, спасибо
Ура! Получилось! Спасибо большое!
Спасибо огромное,скрипт очень помог :)