Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/01/2010, 17:40
pablitino
 
Fecha de Ingreso: diciembre-2008
Mensajes: 100
Antigüedad: 16 años
Puntos: 0
Respuesta: Limpiar formulario

Hola!!!

Usa una función más general para acceder a través del DOM.

Por ejemplo, yo usaría document.getElementsByName para acceder a todos los objetos del formulario. Creo que IE6 no implementaba correctamente del todo la función getElementsByName... aunque creo que sí que la tiene en cuenta para los elementos de tipo input.

Nota: Echa un vistazo a la forma en la que puedes acceder a los nodos del DOM (pincha aquí).

Deberías poner el mismo atributo name para todos los elementos que quieras borrar o volver a restaurar el valor por defecto (por ejemplo "elemFormulario").

Así pues en la función eraseValue yo haría algo así:

Código Javascript:
Ver original
  1. var elems = document.getElementsByName("elemFormulario");
  2.  
  3. for (var i=0; i<elems.length; i++)
  4.     elems[i].value = "";

Y en la función restoreValue haría algo así:

Código Javascript:
Ver original
  1. var elems = document.getElementsByName("elemFormulario");
  2.  
  3. for (var i=0; i<elems.length; i++)
  4.    elems[i].value = valoresDefecto[i];

Y valoresDefecto sería un array global con los valores por defecto de los elementos del formulario en el mismo orden en que aparecen.

En este caso:
Código Javascript:
Ver original
  1. valoresDefecto[0] = "Nombre";
  2. valoresDefecto[1] = "Email";

Además podría hacer:

Código Javascript:
Ver original
  1. var elems = document.getElementsByName("elemFormulario");
  2.  
  3. for (var i=0; i<elems.length; i++)
  4. {
  5.      elems[i].onBlur = restoreValue;
  6.      elems[i].onFocus = eraseValue;
  7. }

Para asignar las funciones que asignas al final.

Espero que te haya sido de ayuda y haberme explicado bien. Saludos!!