The placeholder attribute is the part of HTML5 specification. Currently, it works only in WebKit-based browsers, like Google Chrome and Safari. Placeholder.js fixes it!
Tested on IE 6—8, Firefox 3.5, Safari 4—5, Google Chrome 3—6, Opera 9.5—10.6.
CSS: .text-placeholder {color: #AAA !important}
JS: $("[placeholder]").textPlaceholder();
placeholder.js (pure JS version)
JS: inputPlaceholder(document.getElementById('some_input'), "#AAA")
placeholder.js doesn't work for <input type='password'>
in IE (at least in IE ≤ 9). If you need it use danielstocks/jQuery-Placeholder instead.