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>