Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2008, 07:07
joscasan
 
Fecha de Ingreso: agosto-2006
Mensajes: 9
Antigüedad: 18 años, 6 meses
Puntos: 0
javascript+css+IE

Tengo un formulario hecho con sus respectivos campos para rellenar, y lo que quiero es que si dejamos alguno de los campos vacío, debería de indicarnos mediante un foco que hay que rellenarlo.

Así que he cambiado los estilos de los inputs con una función, y en Firefox va bien; pero el problema está en que en Explorer no me cambia de foco en el siguiente input y además de eso, no me cambia ningún estilo, ni la primera ni la última.

Dejo el código a continuación del script:

Código HTML:
<script type="text/javascript">
function pinta(esto) {
      document.formulario.eval(esto).style.backgroundColor = "#FFFF99";
      document.formulario.eval(esto).style.borderStyle = "dotted";
      document.formulario.eval(esto).style.borderColor = "red";
      document.formulario.eval(esto).style.borderWidth = "1px";
}
function despinta(esto) {
      document.formulario.eval(esto).style.backgroundColor = "";
      document.formulario.eval(esto).style.borderStyle = "";
      document.formulario.eval(esto).style.borderColor = "";
      document.formulario.eval(esto).style.borderWidth = "";
}
function valida_envia(){
   if (document.formulario.nombre.value.length==0){
      alert("Tiene que escribir su nombre.")
      document.formulario.nombre.focus()
      pinta('nombre');
      return 0;
   }
   else { despinta('nombre'); }
   if (document.formulario.apellidos.value.length==0){
      alert("Tiene que escribir sus apellidos.")
      document.formulario.apellidos.focus()
      pinta('apellidos');
      return 0;
   }
   else { despinta('apellidos'); }
   if (document.formulario.email.value.length==0){
      alert("Tiene que escribir su e-mail")
      document.formulario.email.focus()
      document.formulario.email.style.backgroundColor = "#FFFF99";
      pinta('email');
      return 0;
   }
   else { despinta('email'); }
   document.formulario.submit();
}
</script> 
Muchas gracias y espero alguna respuesta.