Foros del Web » Programando para Internet » Javascript »

Unir estas dos funciones

Estas en el tema de Unir estas dos funciones en el foro de Javascript en Foros del Web. Hola amigos como estais? Mirad tengo esta funcion para validar que un formulario no tenga ningun campo vacio: function validacion(){ with (document.forms['guardarhorario']){ if(fechaInicio.value=="") { alert("No ...
  #1 (permalink)  
Antiguo 07/09/2010, 13:41
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 4
Unir estas dos funciones

Hola amigos como estais?

Mirad tengo esta funcion para validar que un formulario no tenga ningun campo vacio:

function validacion(){
with (document.forms['guardarhorario']){
if(fechaInicio.value=="")
{
alert("No introdujo ninguna fecha de inicio");

return(false);
}
else if(fechaFin.value=="")
{
alert("No introdujo ninguna fecha de finalizacion");
return false;
}
else if(horaInicioEntrada.value=="")
{
alert("No introdujo ninguna hora de inicio");
return false;
}
else if(horaFinEntrada.value=="")
{
alert("No introdujo ninguna hora de finalizacion");
return false;
}
}
}

y esta funcion para que el usuario confirme si qieres enviar, si pulsa aceptar se evia y si no pues no,

function ConfirmarEnvio(form)
{
enviar = window.confirm('Si envia la informacion borrara los datos que ya esten guardados en esa fecha si es que hay alguno ¿Estas Seguro?');
(enviar)?form.submit():'return false';
}

por separado funcionan pero lo que qiero es unirlar para que primero revise si estan los campos llenos y si estan llenos al pulsar pregunte si qieres enviarlo si no estan llenos te avisa de que no estn llenos y si pulsas cancelar no envia.

he probado a llamar alas dos funciones en un OnClick:


<input type="button" src="GuardarHorario.php" value="Envio" onClick="return (validacion());ConfirmarEnvio(this.form)">

Pero de este modo solo funciona la primera de ellas la que mira si estan los campos vacios la otra no va.

A ver si alguno sabe como conseguir esto.

Un saludo amigos y gracias de ante mano
  #2 (permalink)  
Antiguo 07/09/2010, 14:24
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Unir estas dos funciones

cuando aplicas return, se interrumpe el bloque de código y retorna el valor, es decir, no se ejecutan las expresiones siguientes
  #3 (permalink)  
Antiguo 07/09/2010, 16:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 4
Respuesta: Unir estas dos funciones

Hola amigo como estas,

He probado a elminar ese return y la cosa es que avisa de que quedan campos vacios pero tambien se ejecuta la funciona de comprobacion para guardarlo con lo que da la posibilidad de guardar sin que esten rellenos todos los campos, lo que intento hacer es que solo ejecute la funcion que pregunta si estas seguro de enviarlo cuando esten todos los campos llenos.

Crees que podriamos unir las dos funciones en una sola?

Un saludo amigo y muchas gracias por tu ayuda
  #4 (permalink)  
Antiguo 07/09/2010, 16:33
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 4
Respuesta: Unir estas dos funciones

Al final he modificado la funcion para que quede asi:

function validacion(){
with (document.forms['guardarhorario']){
if(fechaInicio.value=="")
{
alert("No introdujo ninguna fecha de inicio");

return(false);
}
else if(fechaFin.value=="")
{
alert("No introdujo ninguna fecha de finalizacion");
return false;
}
else if(horaInicioEntrada.value=="")
{
alert("No introdujo ninguna hora de inicio");
return false;
}
else if(horaFinEntrada.value=="")
{
alert("No introdujo ninguna hora de finalizacion");
return false;
}
else if(fechaInicio.value!="" && fechaFin.value!="" && horaInicioEntrada.value!="" && horaFinEntrada.value!="")
{
enviar = window.confirm('Si envia la informacio esta borrara la informacin que este guardada en esos dias si es que existe ¿Estas Seguro?');
(enviar)?guardarhorario.submit():'return false';
}
}
}

Y ya esta funcinando,

Un saludo y gracias

Etiquetas: dos, funciones, unir
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 14:35.