Foros del Web » Programando para Internet » Javascript »

otro problema con los formularios

Estas en el tema de otro problema con los formularios en el foro de Javascript en Foros del Web. Hola a todos! Me sucede que cuando se valida el formulario me muestra el error e inmediatamente se envia el formulario igualmente.Este es mi codigo: ...
  #1 (permalink)  
Antiguo 05/09/2007, 07:27
 
Fecha de Ingreso: marzo-2007
Mensajes: 83
Antigüedad: 17 años, 1 mes
Puntos: 0
otro problema con los formularios

Hola a todos!

Me sucede que cuando se valida el formulario me muestra el error e inmediatamente se envia el formulario igualmente.Este es mi codigo:

<script languaje="Javascript">
function validar(){
if (document.form1.telefono.value.length==0){
alert("Tienes que escribir un telefono de contacto")
form1.telefono.focus();
return false;
}
}
</script>

y en el formulario:

<form id="form1" name="form1" method="post" action="sugerencias.php" onSubmit="javascript:return validar();">


He provado con return 0...pero nada!

Alguien me ayuda?

Gracias!
  #2 (permalink)  
Antiguo 05/09/2007, 07:47
 
Fecha de Ingreso: septiembre-2005
Ubicación: Ourense
Mensajes: 25
Antigüedad: 18 años, 7 meses
Puntos: 1
Re: otro problema con los formularios

Buenas el problema esta en que tu funcion de validar no la deberias llamar en el evento onSubmit del formulario puesto q de este modo el formulario se enviara igualmente.

Una solucion es crear un boton, con la llamada a tu funcion de validacion en el evento onClick ojo el boton no debe enviar el formulario sino q esto debe hacerse desde tu funcion de validar en caso de que este todo correcto, te indico mas o menos como sería en tu caso

Cita:
//tu funcion validar
<script languaje="Javascript">
function validar(){
if (document.form1.telefono.value.length==0)
{
alert("Tienes que escribir un telefono de contacto")
document.form1.telefono.focus();
return false;
}
else
{
document.form1.submit();
}
}
</script>

//tu form
<form id="form1" name="form1" method="post" action="sugerencias.php">
...
//tu contenido del form
...
<input name="button1" type="button" value="Enviar" onClick="javascript:validar()">
</form>
Bueno el codigo no lo he comprobado pero si no te funciona 100% te dara una idea de como hacerlo.
Saludos.
  #3 (permalink)  
Antiguo 05/09/2007, 08:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: otro problema con los formularios

Cita:
Iniciado por karide Ver Mensaje
Buenas el problema esta en que tu funcion de validar no la deberias llamar en el evento onSubmit del formulario puesto q de este modo el formulario se enviara igualmente.
...

Saludos.
Parece que no tienes idea del funcionamiento de los formularios... lo que afirmas, es justamente "al revés"

Las validaciones debes hacerlas desde el onsubmit del form...

ann_18: Tu problema está en ese error que hace que no se procese la linea que cancela el envío... supongo que form1.telefono.focus(), al no estar precedido por document o document.forms provoca el error al no reconocer el objeto "form1"

Un par de apuntes:
No debes usar el protocolo "javascript:" en los eventos (lo que empieza por "onXXXX"... y los eventos se escriben en minúsculas... en este caso onsubmit (puse en la respuesta la "S" coloreada)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 06/09/2007, 00:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 83
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: otro problema con los formularios

gracias por vuestra ayuda!!! :)
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 09:59.