Foros del Web » Programando para Internet » Javascript »

Evitar envío de formulario

Estas en el tema de Evitar envío de formulario en el foro de Javascript en Foros del Web. Qué tal gente del foro, espero que estén muy bien! Mi problema es el siguiente: tengo una página web (particularmente un formulario), en ese formulario ...
  #1 (permalink)  
Antiguo 23/12/2011, 10:08
 
Fecha de Ingreso: julio-2011
Ubicación: Ciudad de México
Mensajes: 25
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Evitar envío de formulario

Qué tal gente del foro, espero que estén muy bien!

Mi problema es el siguiente: tengo una página web (particularmente un formulario), en ese formulario se hacen 3 validaciones (javascript), lo que quiero hacer es que si el resultado de esas validaciones son falsas, no se envíe el formulario, y en caso contrario, se haga la inserción dentro de la base de datos -tenía un botón tipo "submit", pero me dijeron que era mejor dejarlo como tipo "button".

Gracias por su atención, y espero me puedan compartir su conocimiento
  #2 (permalink)  
Antiguo 23/12/2011, 10:37
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Evitar envío de formulario

Pues te dijeron mal, el botón debe ser un submit. Para tu propósito:
Código:
<form ... onsubmit="return validar();">
Dentro de validar debes retornar true si se valida o false si hay algún error.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 23/12/2011, 11:03
 
Fecha de Ingreso: julio-2011
Ubicación: Ciudad de México
Mensajes: 25
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Evitar envío de formulario

Muchas gracias por responder _cronos2 (está genial tu avatar :P)

Cambie el tipo de "button" a "submit", y a pesar de que no se cumplen las validaciones, cambia de página! (yo quiero que cuando no se cumplan las validaciones, se quede en la página en la que estoy actualmente, en caso de que las validaciones se cumplan, se haga la inserción de en la BD)

Te adjunto el código para que puedas entenderme mejor:

Valida fecha de inicio:

function ValidaFechaInicio(){

var dtFechaActual = new Date();
var fecha_inicio=document.getElementById("fecha_inicio ").value;

if(Date.parse(fecha_inicio) < dtFechaActual){
alert("La fecha de inicio no puede ser menor a la fecha actual, por favor cambie el dato.");
return false;
}

return true;
}


Validación de la fecha final:

function ValidaFechaFin(){

var dtFechaActual = new Date();
var fecha_fin=document.getElementById("fecha_fin").val ue;

if(Date.parse(fecha_fin) <= dtFechaActual){
alert("La fecha de fin no puede ser menor o igual a la fecha actual, por favor cambie el dato");
return false;
}
return true;
}


Y el código que tengo a continuación es el que quiero que compruebe que todo esté bien, si está bien, inserte, sino, que se quede en donde está:


function ValidaTodo(){

if(ValidaFechaInicio() != true && ValidaFechaFin() != true){
return 0;
}
else
document.mensaje.submit();
}


En qué estoy mal? Gracias por tu apoyo!
  #4 (permalink)  
Antiguo 23/12/2011, 12:30
 
Fecha de Ingreso: julio-2011
Ubicación: Ciudad de México
Mensajes: 25
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Evitar envío de formulario

Ya ví cual es mi error, en "document.mensaje.submit()" MENSAJE es el id de mi form, y ahí debe ir el NAME del form :P

Etiquetas: formulario, botones, validar
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 19:12.