Foros del Web » Creando para Internet » HTML »

Problema con la validacion de un formulario con javascript

Estas en el tema de Problema con la validacion de un formulario con javascript en el foro de HTML en Foros del Web. Hola!! tengo un formulario en html el cual valido con una funcion javascript, el problema es que en firefox me valida el formulario perfectamente pero ...
  #1 (permalink)  
Antiguo 25/05/2011, 02:45
 
Fecha de Ingreso: noviembre-2010
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 0
Problema con la validacion de un formulario con javascript

Hola!!

tengo un formulario en html el cual valido con una funcion javascript, el problema es que en firefox me valida el formulario perfectamente pero en internet explorer no ejecuta la validacion, directamente no hace nada, me podeis decir como hago para que valide el formulario tambien en internet explorer

este es el formulario:

<form name ="forms" method="post" onsubmit="return validar()" action ="finalizarcompra.php">
<fieldset>
<legend = "left">
<strong> Datos de Envio</strong>
</legend>
<table>
<div id="dire"><tr><label >Direccion Envio</label><input id="direccion" type="text" name="dire" size="120" ></tr></div>
<div id="pobl"><label>Poblacion</label><input id="poblacion" name="poblacion" type="text" size="40"></div>
<div id="prov" >
<label >Provincia</label>
<select name="provincia">
<option value="Alava" selected>Álava</option>
<option value="Albacete">Albacete</option>
<option value="Alicante">Alicante</option>
<option value="Almeria">Almería</option>
<option value="Asturias">Asturias</option>
<option value="Ávila">Ávila</option>
<option value="Badajoz">Badajoz</option>
<option value="Barcelona">Barcelona</option>

<option value="Burgos">Burgos</option>
<option value="Cáceres">Cáceres</option>
<option value="Cádiz">Cádiz</option>
<option value="Cantabria">Cantabria</option>
<option value="Castellón de la Plana">Castellón de la Plana</option>
<option value="Ceuta">Ceuta</option>
<option value="Ciudad Real">Ciudad Real</option>
<option value="Córdoba">Córdoba</option>
<option value="Coruña, A">Coruña, A</option>

<option value="Cuenca">Cuenca</option>
<option value="Girona">Girona</option>
<option value="Granada">Granada</option>
<option value="Guadalajara">Guadalajara</option>
<option value="Guipúzcoa">Guipúzcoa</option>
<option value="Huelva">Huelva</option>
<option value="Huesca">Huesca</option>
<option value="Illes Balears">Illes Balears</option>
<option value="Jaén">Jaén</option>

<option value="León">León</option>
<option value="Lleida">Lleida</option>
<option value="Lugo">Lugo</option>
<option value="Madrid">Madrid</option>
<option value="Málaga">Málaga</option>
<option value="Melilla">Melilla</option>
<option value="Murcia">Murcia</option>
<option value="Navarra">Navarra</option>
<option value="Ourense">Ourense</option>

<option value="Palencia">Palencia</option>
<option value="Palmas, Las">Palmas, Las</option>
<option value="Pontevedra">Pontevedra</option>
<option value="Rioja, La">Rioja, La</option>
<option value="Salamanca">Salamanca</option>
<option value="Santa Cruz de Tenerife">Santa Cruz de Tenerife</option>
<option value="Segovia">Segovia</option>
<option value="Sevilla">Sevilla</option>
<option value="Soria">Soria</option>

<option value="Tarragona">Tarragona</option>
<option value="Teruel">Teruel</option>
<option value="Toledo">Toledo</option>
<option value="Valencia">Valencia</option>
<option value="Valladolid">Valladolid</option>
<option value="Vizcaya">Vizcaya</option>
<option value="Zamora">Zamora</option>
<option value="Zaragoza">Zaragoza</option>
</select>

</div>
<div id="cod"><label>C.P</label><input id="cp" name="cp" size="5" maxlength="5"></div>
<div id="destin"><label>Destinatario envio</label><input id="destinatario" type="text" name="desti" size = "110" ></div>
<div id="dedi"><label>Dedicatoria</label><br>
<textarea id="dedicatoria" name="dedicatoria" cols="50" rows="10"></textarea>
</div>
<div id="fecha">
<label>Fecha Entrega(dd/mm/aaaa)</label><input type="text" name="fecha" size="9" maxlength="10" ><br><br>
</div>

</table>


</fieldset>

<input value="Finalizar compra" type="submit" align="middle">

</form>



y esta la funcion javascritp

function validar( )
{




/** obtenemos la fecha actual para comparar con la fecha introducida**/


hoy= new Date();
actualdia= completar(hoy.getDate()+1);/** el pedido tendra que ser al menos un dia despues **/
actualmes= completar(hoy.getMonth()+1);
actualanyo=hoy.getFullYear();

/**
* obtenemos la fecha introducida y la separamos en dia, mes y año
*/
a=document.forms[0].fecha.value;
dia=a.split("/")[0];
mes=a.split("/")[1];
anyo=a.split("/")[2];





if((comparafechas(actualanyo,actualmes,actualdia,a nyo,mes,dia))){
alert("la fecha es menor que la fecha actual");
return false ;
}
if(anyoBisiesto(anyo))
febrero=29;
else
febrero=28;
/**
* si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
*/
if ((mes<1) || (mes>12))
{
alert("El mes introducido no es valido. Por favor, introduzca un mes correcto");
document.forms[0].fecha.focus();
document.forms[0].fecha.select();
return false ;
}
/**
* si el mes introducido es febrero y el dia es mayor que el correspondiente
* al año introducido > alertamos y detenemos ejecucion
*/
if ((mes==2) && ((dia<1) || (dia>febrero)))
{
alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
document.forms[0].fecha.focus();
document.forms[0].fecha.select();
return false ;
}
/**
* si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
*/
if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31)))
{
alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
document.forms[0].fecha.focus();
document.forms[0].fecha.select();
return false ;
}
/**
* si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
*/
if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30)))
{
alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
document.forms[0].fecha.focus();
document.forms[0].fecha.select();
return false ;
}
/**
* si el mes año introducido es menor que 1900 o mayor que 2010 > alertamos y detenemos ejecucion
*
*/
if ((anyo<2010) || (anyo>2020))
{
alert("El año introducido no es valido. Por favor, introduzca un año entre 2010 y 2020");
document.forms[0].fecha.focus();
document.forms[0].fecha.select();
return false ;
}
if(document.forms[0].fecha.value.length==0){
alert("la fecha esta vacia");
return false;
}
if (document.forms[0].dire.value.length==0){
alert ("la direccion no puede estar vacia");
return false;
}
if(document.forms[0].desti.value.length==0){
alert ("debe introducir un destinatario para el envio");
return false;
}
if(document.forms[0].cp.value.length==0){
alert("Debe introducir el codigo postal");
return false;
}
if(document.forms[0].provincia.value.length==0){
alert("Debe introducir su provincia");
return false;
}
if(document.forms[0].poblacion.value.length==0){
alert("Debe introducir su poblacion");
return false;
}if((/^[0-9]{5,}$/).exec(document.forms[0].cp.value)==null){
alert("Debe introducir un C.P valido");

return false;
}
/**
* en caso de que todo sea correcto > enviamos los datos del formulario
* para ello debeis descomentar la ultima sentencia
*/
else
return true;

}


GRACIAS de antemano x la ayyuda!!!

Etiquetas: javascript, 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 06:18.