Hola gente, este es mi primer post dentro de la comunidad, a la cual, siempre recurro para evacuar mis dudas, en este caso, no encontre solucion, por ello lo pregunto aqui. La cuestion es que tengo un script de javascript que no me funciona en IE, en Chrome y Mozilla funciona correctamente. les dejo el script para que lo vean:
Código HTML:
<script language="javascript">
function validar_nick (){
//Campo nickname
if (document.form_usuario.nick.value.length<5){ //validamos el nombre
msj_nick = document.getElementById("msj_nick");
msj_nick.innerHTML = '<span class="txt_red">Su nickname, debe ser mas largo</span>';
return(false);
} else {
msj_nick = document.getElementById("msj_nick");
msj_nick.innerHTML = '<img src="images/ico/ok.png" />';
return(true);
}
}
function validar_mail (){
//Campo mail
email = document.form_usuario.email.value;
filtro =/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/;
if (filtro.test(email)){
msj_mail = document.getElementById("msj_mail");
msj_mail.innerHTML = '<img src="images/ico/ok.png" />';
return (true);
} else {
msj_mail = document.getElementById("msj_mail");
msj_mail.innerHTML = '<span class="txt_red">La direccion de email, es incorrecta</span>';
return(false);
}
}
function validar_pass () {
pass = document.form_usuario.pass.value;
if (pass > 5) {
repass = document.form_usuario.repass.value;
if (pass == repass){
msj_pass = document.getElementById("msj_pass");
msj_pass.innerHTML = '<img src="images/ico/ok.png" />';
return (true);
} else {
msj_mail = document.getElementById("msj_pass");
msj_mail.innerHTML = '<span class="txt_red">La contraseña no coincide</span>';
return(false);
}
} else {
msj_mail = document.getElementById("msj_pass");
msj_mail.innerHTML = '<span class="txt_red">La contraseña es demasiado corta</span>';
return(false);
}
}
function validar_fecha(){
fecha = document.form_usuario.fecha.value;
msj_fecha = document.getElementById("msj_fecha");
if (fecha != "" ){
if (!/^\d{2}\-\d{2}\-\d{4}$/.test(fecha)){
msj_fecha.innerHTML = '<span class="txt_red">Formato de fecha invalido</span>';
return(false);
}
var dia = parseInt(fecha.substring(0,2),10);
var mes = parseInt(fecha.substring(3,5),10);
var anio = parseInt(fecha.substring(6),10);
switch(mes){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
numDias=31;
break;
case 4: case 6: case 9: case 11:
numDias=30;
break;
case 2:
if (comprobarSiBisisesto(anio)){ numDias=29 }else{ numDias=28};
break;
default:
msj_fecha.innerHTML = '<span class="txt_red">Fecha no valida</span>';
return false;
}
if (dia>numDias || dia==0){
msj_fecha.innerHTML = '<span class="txt_red">Fecha no valida</span>';
return false;
}
msj_fecha.innerHTML = '<img src="images/ico/ok.png" />';
return true;
}
}
function comprobarSiBisisesto(anio){
if ( ( anio % 100 != 0) && ((anio % 4 == 0) || (anio % 400 == 0))) {
return true;
}
else {
return false;
}
}
function enviar_form (){
//Si paso por todos los if, esta correcto para enviar, y se envia.
if (validar_nick() && validar_mail() && validar_pass() && validar_fecha()) {
document.form_usuario.submit();
} else {
validar_nick();
validar_mail();
validar_pass();
validar_fecha();
}
}
</script>
Espero puedan ayudarme. Saludos!