Vamos a ver, lo primero que si el name del formulario es el mismo que el de un input yo diría que ahí hay un conflicto para ver qué valor se envía, me imagino que el último. Por tanto, tendrías que usar otro nombre, y por ende dos parámetros. Lo segundo, es que la manera correcta de acceder a los elementos de un formulario es document.forms['el_form'].elements['el_input'], también se puede acceder por su índice en vez de por el name o directamente por getElementById(). Lo tercero es que la función no la tienes que usar en el evento onclick, sino en el onfocus, porque si recibe el foco con el tabulador la función no funciona, valga la redundancia. Y por último, te dejo esta función para que veas cómo podrías hacerla:
Código Javascript
:
Ver originalfunction val(campo,valor,texto){
campo.value=campo.value==texto?valor:campo.value;
}
Código HTML:
Ver original<input type='text' value='Hola' onfocus="val(this,'','Hola');" onblur="val(this,'Hola','');"
Donde pone 'Hola' también se puede poner this.defaultValue, la diferencia está en que si usas defaultValue (que es el value que tiene por defecto el input) funcionará con ese valor, si lo pones como texto puedes poner 'pepe' en vez de 'Hola' para que cuando el value sea pepe se borre el contenido, no sé si me entiendes.
Saludos (: