Aquí hay un ejemplo funcional con la memoria caché de la biblioteca Google Ajax y algo de magia jQuery.
Ésta sería la CSS:
<style type="text/stylesheet" media="screen">
.inputblank { color:gray; } /* Class to use for blank input */
</style>
Esto sería el código JavaScript:
<script language="javascript"
type="text/javascript"
src="http://www.google.com/jsapi">
</script>
<script>
// Load jQuery
google.load("jquery", "1");
google.setOnLoadCallback(function() {
$("#search_form")
.submit(function() {
alert("Submitted. Value= " + $("input:first").val());
return false;
});
$("#keywords")
.focus(function() {
if ($(this).val() == 'Search') {
$(this)
.removeClass('inputblank')
.val('');
}
})
.blur(function() {
if ($(this).val() == '') {
$(this)
.addClass('inputblank')
.val('Search');
}
});
});
</script>
Y este sería el HTML:
<form id="search_form">
<fieldset>
<legend>Search the site</legend>
<label for="keywords">Keywords:</label>
<input id="keywords" type="text" class="inputblank" value="Search"/>
</fieldset>
</form>
espero que sea lo suficientemente para que se interesa tanto en el GAJAXLibs y en jQuery.
ya que la pregunta se hizo HTML5 atributo marcador de posición se ha convertido en el apoyo de todos los navegadores. – Jasen
Hola Michael. ¿Estaría dispuesto a cambiar la respuesta aceptada en esta página? Parece ser un claro ganador, que es diferente a la respuesta aceptada. – nslntmnx
El problema con una solución de JavaScript es que no todos tienen activado JavaScript. El marcador de posición no desaparece cuando el cuadro de texto se enfoca si se usa un complemento de navegador como NoScript (muy útil para los desarrolladores tener instalado). La opción Marcador de posición es la solución más sólida. – Sablefoste