Pregunta: | 57127 - FUNCION JAVA ANTES DE FUNCION JAVASCRIPT |
Autor: | Sonia Perez |
Hola amigos!!
Tengo un problema. Tengo un formulario que cuando hago el submit va a una función javascript que me valida los campos del mismo. Esto funciona perfectamente pero, necesito comprobar que la fecha introducida no supera en 5 días a la fecha actual y para ello uso métodos java así que, esta función necesito que se ejecute antes de llamar a la de javascript puesto que sino, ya no se ejecutará nunca al ejecutarse javascript en el cliente y java en el servidor.¿Cómo debo hacerlo?Muchas gracias!! Aquí les pongo también el código de la función Java por si ven algo que esté mal: function Fecharmaxima (formulario) { //Obtengo una instancia de Gregorian Calendar Calendar ahora=Calendar.getInstance(); //Obtengo la fecha actual long miliseg=ahora.getTime(); //Sumo 5 días a la fecha actual miliseg=ahora.add(Calendar.DATE,5); //Compruebo que la fecha introducida no sea mayor que (la actual +5) if(formulario.fecha.value<=miliseg) return true; else alert("Sólo se aceptan fechas 5 días posteriores a la actual"); return false; } |
Respuesta: | Omar Hernandez |
Esta bien el código si estas usando mvc, entonces si necesitarías validar a nivel usuario es decir en el js ya que al hacer el submit no se podría entonces en mi opinión seria antes del submit mira en js seria algo asi: function Fecharmaxima (Fecha) { var fechaIntroducida=eval("'#" + Fecha + "'"); //Obtengo la fecha actual var fecha =new Date(); var fechaValida = fecha.setDate(fecha.getDate()+5); //Compruebo que la fecha introducida no sea mayor que (la actual +5) if( $('#fechaIntroducida').val() <= fechaValida) { // en vez de return true; //podrias meter el submit aqui. }else{ alert("Sólo se aceptan fechas 5 días posteriores a la actual"); $('#fechaIntroducida').focus(); //donde fechaIntroducida podria ser el input } } |