Modern browsers support a placeholder attribute on input fields which does this for you.
HTML Code:
<input type="text" placeholder="Enter your name" name="name" id="name"/>
You could also add some JavaScript to support browsers that don't support the placeholder attribute
Code:
var input = document.createElement('input');
if(!("placeholder" in input)) {
var inputs = document.getElementsByTagName('input');
for(var i = 0, l = inputs.length; i < l; i++) {
if(inputs[i].getAttribute('placeholder')) {
inputs[i].value = inputs[i].getAttribute('placeholder');
inputs[i].addEventListener ? inputs[i].addEventListener('blur',blur) : inputs[i].attachEvent('onblur',blur);
inputs[i].addEventListener ? inputs[i].addEventListener('focus',focus) : inputs[i].attachEvent('onfocus',focus);
}
}
function blur(e) {
var target = e.srcElement ? e.srcElement : e.target;
if(target.value == "") {
target.value = target.getAttribute('placeholder');
}
}
function focus(e) {
var target = e.srcElement ? e.srcElement : e.target;
if(target.value == target.getAttribute('placeholder')) {
target.value = "";
}
}
}
Bookmarks