Обновил верхний пост, новое описание там же. Теперь осталась одна проблема: Только в браузерах IE 6-8, если input имеет тип password, вместо подсказки будут отображаться точки, которые маскируют пароль. Собственно, я ее почти решил. Это связано с тем что у input'ов в IE 6-8, нельзя просто взять и поменять атрибуты функцией setAttribute. Можно менять, только удалив элемент и заново создав с новыми атрибутами. Что, собственно, я и сделал: function IE(elemEvent, type){ var el= document.createElement("input"), placeholder = elemEvent.getAttribute("placeholder"), title=elemEvent.getAttribute("title"); el.setAttribute("type", type); el.setAttribute("data-type", "password"); el.name= elemEvent.name; if (title!=null){ el.setAttribute("title", title); } el.setAttribute("placeholder",placeholder); if (type!="password"){ el.value= placeholder; } events(el); var parent = elemEvent.parentNode; parent.replaceChild(el, elemEvent); } Если использовать эту функцию, то будет работать, как нужно, но с одним исключением - мне так и не удалось, новосозданному input'у назначить фокус. Т.е когда input получает фокус ввода, выполняется этот код, удаляя и создавая новый input без фокуса ввода. Пробовал вызывать функцию focus(), чтобы программно установить фокус ввода на новый input, так и не вышло. На данный момент этот код не включен в проект. Если у кого есть идеи с удовольствием выслушаю.