Another option, if you're happy to have this feature only for newer browsers, is to use the support offered by HTML 5's placeholder attribute:
<input name="email" placeholder="Email Address">
In the absence of any styles, in Chrome this looks like:
You can try demos out here and in HTML5 Placeholder Styling with CSS.
Be sure to check the browser compatibility of this feature. Support in Firefox was added in 3.7. Chrome is fine. Internet Explorer only added support in 10. If you target a browser that does not support input placeholders, you can use a jQuery plugin called jQuery HTML5 Placeholder, and then just add the following JavaScript code to enable it.
$('input[placeholder], textarea[placeholder]').placeholder();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…