Foros del Web » Programando para Internet » Javascript »

javascript+css+IE

Estas en el tema de javascript+css+IE en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/01/2008, 07:07
 
Fecha de Ingreso: agosto-2006
Mensajes: 9
Antigüedad: 17 años, 8 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.
  #2 (permalink)  
Antiguo 21/01/2008, 07:13
 
Fecha de Ingreso: julio-2006
Mensajes: 145
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: javascript+css+IE

Prueba esto:


document.form1[i].focus();

donde i es el numero de orden del elemento del formulario.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:35.