Пожалуйста, рассмотрите возможность использования атрибута HTML5 placeholder
.
<input type="text" id="searchtextbox" placeholder="Search..." value="" />
Как указали многие люди из моего ответа, Internet Explorer не сильно заинтересован в отображении текста-заполнителя (какой сюрприз). Тем не менее, это более семантически для использования placeholder
, а для обнаружения функций независимо от того, поддерживает браузер это или нет.
Вы можете выполнить обнаружение функций следующим образом (из diveintohtml5.ep.io ):
function supports_input_placeholder() {
var i = document.createElement('input');
return 'placeholder' in i;
}
Если это неверно, вы можете использовать свой взлом Javascript placeholder
.
ОБНОВЛЕНИЕ: Если вам нужна помощь в реализации, пожалуйста, обратитесь к HTML-текст заполнителя в текстовой форме .
Я также взглянул на ваш код и исправил его:
jsFiddle Demo
document.getElementById("searchtextbox").onblur = function() {
if (this.value == "") {
this.value="Search...";
}
}
Использование setAttribute
не является правильным способом, вы не хотите устанавливать атрибут, но свойство live (.value
). Ваше условие if действительно сработало, но изменение не отразилось.