Foros del Web » Programando para Internet » Javascript »

Problema en validacion de formulario

Estas en el tema de Problema en validacion de formulario en el foro de Javascript en Foros del Web. Buenas, he estado haciendo la validacion de un formulario, lo valida, me tira el error pero al darle aceptar (al alert), lo manda igual!.. aca ...
  #1 (permalink)  
Antiguo 26/02/2011, 08:50
 
Fecha de Ingreso: febrero-2011
Mensajes: 124
Antigüedad: 13 años, 2 meses
Puntos: 4
Problema en validacion de formulario

Buenas, he estado haciendo la validacion de un formulario, lo valida, me tira el error pero al darle aceptar (al alert), lo manda igual!..
aca los codes
Código PHP:
<script/* Abrimos etiqueta de código */
function validar_formulario(){ /* Abrimos la función validar_formulario */
if (document.form1.titulo.value.length==0){
alert('Debe ingresar un titulo')
document.form1.titulo.focus()
}
if (
document.form1.autor.value.length==0){
alert('Debe ingresar un autor')
document.form1.autor.focus()
}
if (
document.form1.categoria.value.length==0){
alert('Debe ingresar una categoria')
document.form1.categoria.focus()
}
if (
document.form1.articulo.value.length<100){
alert('Debe ingresar almenos 100 caracteres')
document.form1.articulo.focus()
Publicar=false
}
form1.submit();
}
</script> 
Código PHP:
<form name="form1" action="procesanoticia.php" method="post" onsubmit='return validar_formulario()'
Titulo
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="titulo"><br /> 
Autor
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="autor"><br />
Categoría:
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="categoria"> <br />
<
p>&nbsp;</p
Escribe el articulo/noticia:<br
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name="articulo" cols="50" rows="10"></textarea><br />
&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="Publicar" />
</
form
  #2 (permalink)  
Antiguo 26/02/2011, 09:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema en validacion de formulario

Hola:

Tanto &nbsp; dificulta la lectura del código (innecesariamente)... sobre la validación es una respuesta trivial que debes revisar...

onsubmit='return validar_formulario()...

...validar_formulario() debe devolver false para su cancelación, y no vale ninguna otra cosa... incluso los errores cancelan la supuesta cancelación.

Si fuerzas los envíos (form.submit()), las validaciones no tienen ningún sentido.

Revisa esas cosillas y nos cuentas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 27/02/2011, 14:51
 
Fecha de Ingreso: febrero-2011
Mensajes: 124
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Problema en validacion de formulario

ya le saque los &nbsp; , etntiendo la respuesta del false, pero nose como ponerlo en el code.. aalgo asi como ''onsubmit='return

validar_formulario()=false'' ???
podrias orientarme ?
  #4 (permalink)  
Antiguo 27/02/2011, 15:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema en validacion de formulario

Hola:

En la definición del formulario ya tienes el onsubmit="return validar_formulario()", así que tienes que editar esa función para que devuelva (return) false en las cancelaciones.

Uno de los "if" termina con Publicar=false;... eso lo podrías repetir en los restantes if, y como última línea, en vez del odioso submit(), poner return Publicar... que tendrías que inicializar al principio con true.

Cuando lo tengas, avisa que te puedo plantear una mejora (pero vayamos por partes, como dijo Jack)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 27/02/2011, 15:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 124
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Problema en validacion de formulario

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

En la definición del formulario ya tienes el onsubmit="return validar_formulario()", así que tienes que editar esa función para que devuelva (return) false en las cancelaciones.

Uno de los "if" termina con Publicar=false;... eso lo podrías repetir en los restantes if, y como última línea, en vez del odioso submit(), poner return Publicar... que tendrías que inicializar al principio con true.

Cuando lo tengas, avisa que te puedo plantear una mejora (pero vayamos por partes, como dijo Jack)

Saludos
bueno, trate de hacer lo que dices, pero no conozco las funciones, y puede haber un error de escritura, que se yo...
asi quedo:
Código PHP:
function validar_formulario(){ /* Abrimos la función validar_formulario */
if (document.form1.titulo.value.length==0){
alert('Debe ingresar un titulo')
document.form1.titulo.focus()
Publicar=false;
}
if (
document.form1.autor.value.length==0){
alert('Debe ingresar un autor')
document.form1.autor.focus()
Publicar=false;
}
if (
document.form1.categoria.value.length==0){
alert('Debe ingresar una categoria')
document.form1.categoria.focus()
Publicar=false;
}
if (
document.form1.articulo.value.length<100){
alert('Debe ingresar almenos 100 caracteres')
document.form1.articulo.focus()
Publicar()=false;
}
true=form1.Publicar();

y no funciona, sigue igual
  #6 (permalink)  
Antiguo 27/02/2011, 15:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema en validacion de formulario

Hola:

Vamos a ver:

Código:
function validar_formulario(){ /* Abrimos la función validar_formulario */ 
Publicar = true;
if (document.form1.titulo.value.length==0){ 
alert('Debe ingresar un titulo') 
document.form1.titulo.focus() 
Publicar=false; 
} 
if (document.form1.autor.value.length==0){ 
alert('Debe ingresar un autor') 
document.form1.autor.focus() 
Publicar=false; 
} 
if (document.form1.categoria.value.length==0){ 
alert('Debe ingresar una categoria') 
document.form1.categoria.focus() 
Publicar=false; 
} 
if (document.form1.articulo.value.length<100){ 
alert('Debe ingresar almenos 100 caracteres') 
document.form1.articulo.focus() 
Publicar=false; 
} 
//true=form1.Publicar(); 
return Publicar
}
Supongo que así funcionaría... ahora un retoque:

Código:
function validar_formulario(){ /* Abrimos la función validar_formulario */ 
mensajes = new Array();
if (document.form1.titulo.value.length==0){ 
mensajes.pusht('Debe ingresar un titulo') 
document.form1.titulo.focus() 
//Publicar=false; 
} 
if (document.form1.autor.value.length==0){ 
mensajes.push('Debe ingresar un autor') 
document.form1.autor.focus() 
//Publicar=false; 
} 
if (document.form1.categoria.value.length==0){ 
mensajes.push('Debe ingresar una categoria') 
document.form1.categoria.focus() 
//Publicar=false; 
} 
if (document.form1.articulo.value.length<100){ 
mensajes.push('Debe ingresar almenos 100 caracteres') 
document.form1.articulo.focus() 
//Publicar()=false; 
} 
//true=form1.Publicar(); 
if (mensajes.length > 0) alert(mensajes.join("\n"));
return (mensajes.length == 0);
}
No sé si los focos se quedarán bien, pero de esta manera solo se mostrará una alerta si hay fallos de validación.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 27/02/2011, 16:09
 
Fecha de Ingreso: febrero-2011
Mensajes: 124
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Problema en validacion de formulario

funciona perfecto!
gracias por la ayuda!

Etiquetas: 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 17:15.