Está muy bien, me gusta.
Me parece bien que has aclarado que el texto es el
valor por defecto del campo, y
no la etiqueta de lo que éste representa.
Es decir que si no completamos algunos de esos campos, el formulario enviará ese valor como dato. Eso es importante aclarar para que no se maluse este script pretendiendo emular una especie de
placeholder para los inputs.
Uno de los primeros plugins que hice servía para esto último:
http://nahueljose.com.ar/ejemplos/et...inline-labels/
Lo hice porque necesitaba incluir un formulario en un lugar donde tenía muy poco espacio. El HTML es válido, son <label>'s para <input>'s.
Si reviso ahora el código seguramente enconraré 1000 formas de hacerlo mejor, recién había comenzado :P