Foros del Web » Programando para Internet » Javascript »

Problema con formulario y validacion javascript

Estas en el tema de Problema con formulario y validacion javascript en el foro de Javascript en Foros del Web. Hola, tengo un formulario que debe validar si los campos estan vacios y luego hacer un submit. el problema es que si uso en el ...
  #1 (permalink)  
Antiguo 19/05/2009, 14:11
 
Fecha de Ingreso: julio-2003
Mensajes: 52
Antigüedad: 20 años, 9 meses
Puntos: 0
Busqueda Problema con formulario y validacion javascript

Hola, tengo un formulario que debe validar si los campos estan vacios y luego hacer un submit.

el problema es que si uso en el form type=submit la data se envia y no se valida
y si uso type=button entonces la informacion se valida correctamente pero entonces no se envia el formulario.

alquien me ayuda a resolverlo?

gracias!
  #2 (permalink)  
Antiguo 19/05/2009, 14:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con formulario y validacion javascript

Usa el type="submit" y realiza la validación correspondiente en el evento onsubmit del formulario. Devolviendo true en caso de pasar la validación, false en caso contrario.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/05/2009, 15:05
 
Fecha de Ingreso: julio-2003
Mensajes: 52
Antigüedad: 20 años, 9 meses
Puntos: 0
Busqueda Respuesta: Problema con formulario y validacion javascript

Ya lo intente asi, se envia correctamente, pero entonces la validacion no funciona...
Código HTML:
<input name="EnviarS" onSubmit="Validar(this.form)" type="submit" class="contenido" value="Enviar sugerencia"/> 
Alguna idea?

Posteo aqui mi codigo javascript:
Código:
<script>
function Validar(form){

if (formulario.nombre.value == "")
{ alert("Por favor ingrese su nombre completo"); formulario.nombre.focus(); return false; }

if (formulario.cedula.value == "")
{ alert("Por favor ingrese su numero de cedula"); formulario.cedula.focus(); return false; }

if (formulario.sugerencias.value == "")
{ alert("Por favor ingrese sus sugerencias"); formulario.sugerencias.focus(); return false; }

if (formulario.correo.value == "")
{ alert("Por favor ingrese su nombre email"); formulario.correo.focus(); return false; }

if (formulario.email2.value == "")
{ alert("Debe repetir su correo email"); formulario.email2.focus(); return false; }

formulario.submit();
}
</script>
Cita:
Iniciado por David el Grande Ver Mensaje
Usa el type="submit" y realiza la validación correspondiente en el evento onsubmit del formulario. Devolviendo true en caso de pasar la validación, false en caso contrario.
  #4 (permalink)  
Antiguo 19/05/2009, 15:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con formulario y validacion javascript

El evento onsubmit es del formulario (<form>), no del input.

Además, cambia esta última línea:
Código javascript:
Ver original
  1. formulario.submit()
Por:
Código javascript:
Ver original
  1. return true;
Y al llamar:
Código javascript:
Ver original
  1. return Validar(this);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 19/05/2009, 15:26
 
Fecha de Ingreso: julio-2003
Mensajes: 52
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problema con formulario y validacion javascript

Gracias David!
  #6 (permalink)  
Antiguo 29/05/2009, 12:53
 
Fecha de Ingreso: junio-2008
Ubicación: Spain
Mensajes: 39
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con formulario y validacion javascript

Hola
yo tengo otro problema parecido, tengo una funcion en javascript que funciona perfectamente en mi maquina pero cuando la subo a internet valida el campo y aparece el mensaje del error pero no se queda en el campo del error sino que pasa al siguiente.

les dejo el codigo aver si veis algo..

salU2.
Cita:
function DateValidateSp(fecha,campo){
if (fecha != undefined && fecha.value != "" ){
if (!/^\d{2}\/\d{2}\/\d{4}$/.test(fecha.value)){
window.document.getElementById(campo).select();
alert('formato de fecha incorrecto (dd/mm/aaaa)');
return false;
}
var dia = parseInt(fecha.value.substring(0,2),10);
var mes = parseInt(fecha.value.substring(3,5),10);
var anio = parseInt(fecha.value.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 (Bisiesto(anio)){ numDias=29 }else{ numDias=28};
break;
default:
window.document.getElementById(campo).select();
alert('Fecha Incorrecta!');
return false;
}
if (dia>numDias || dia==0){
window.document.getElementById(campo).select();
alert('Fecha incorrecta!');
return false;
}
//return true;
}
}
function Bisiesto(anio){
if ( ( anio % 100 != 0) && ((anio % 4 == 0) || (anio % 400 == 0))) {
return true;
}
else {
return false;
}
}
  #7 (permalink)  
Antiguo 29/05/2009, 13:04
Avatar de racanix  
Fecha de Ingreso: diciembre-2008
Ubicación: Morelia Mich.
Mensajes: 192
Antigüedad: 15 años, 5 meses
Puntos: 8
Respuesta: Problema con formulario y validacion javascript

Podrias decir cual es el error que te aparece

Me serviria para ayudarte
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 11:02.