Chrome, Firefox, IE10 and Safari support the html5 placeholder attribute
<input type="text" placeholder="First Name:" />
In order to get a more cross browser solution you’ll need to use some javascript, there are plenty of pre-made solutions out there, though I don’t know any off the top of my head.
http://www.w3schools.com/tags/att_input_placeholder.asp