para eso html5 incorpora un atributo llamado placeholder, pero lamentablemente todavía no es compatible con todos los navegadores (IE para ser más precisos), hasta tanto lo sea, yo prefiero manejarme con esto
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> /*<![CDATA[*/
.texto{
color: #666;
}
/*]]>*/
<script type="text/javascript"> //<![CDATA[
function color(campo,texto){
var elcampo = document.getElementById(campo).value;
if(elcampo == texto) {
document.getElementById(campo).style.color="#666";
}
}
//]]>
<input type="text" class="texto" name="nombre_ingreso" value="usuario" id="nombre_ingreso" onclick="this.value='';this.style.color='#000';" onfocus="this.select()" onblur="this.value=!this.value?'usuario':this.value; color(this.id,'usuario');" />
también podes usar una versión simplificada, dónde no atenuas el color, tenes que eliminar
color(this.id,'usuario');
el css
y la función. es decir solo esto
Código HTML:
Ver original<input type="text" name="nombre_ingreso" value="usuario" onclick="this.value='';this.style.color='#000';" onfocus="this.select()" onblur="this.value=!this.value?'usuario':this.value;" />
Por supuesto que es más complicado, pero soy de eso que piensan, si no corre en IE, no me sirve.
saludos