Foros del Web » Programando para Internet » Javascript »

Hacer que un formulario se envie o no dependiento de una condicion

Estas en el tema de Hacer que un formulario se envie o no dependiento de una condicion en el foro de Javascript en Foros del Web. Hola amigos, Una ayudita con esto please. Yo tengo un formulario en donde quiero validar primero por javascript una info que el usuario esxribe para ...
  #1 (permalink)  
Antiguo 18/06/2010, 10:52
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Hacer que un formulario se envie o no dependiento de una condicion

Hola amigos,

Una ayudita con esto please. Yo tengo un formulario en donde quiero validar primero por javascript una info que el usuario esxribe para ver si coincide, si con icide procedo a procesar el formulario, si no coincide entonces mando un alert solamente.

El problema que tengo con el codigo abajo es que, cuando no coincide lo escrito con el hidden input me manda el alert, pero el formulario lo manda a procesar tambien, osea yo quiero que cuando no coincide $randomnumberhide y $randomnumberwritten entonces solamente se mande el alert y que la pagina se quede alli mismo, en el formulacion y no e lo mande hacia process.php

Gracias de antemano

Código Javascript:
Ver original
  1. function captcha($randomnumberhide, $randomnumberwritten){
  2.    if($randomnumberhide == $randomnumberwritten){
  3.         document.form1.submit()
  4.    } else  {  
  5.         alert("Should write the validation numbers correctly.");
  6.         document.form1.Submit.disabled=true;  
  7.    }
  8.  
  9. }


Código HTML:
Ver original
  1. <form action="process.php" method='POST' name="form1">
  2.  
  3. // aqui tengo mas inputs
  4.  
  5. <input type="submit" value="Register" onclick="captcha(document.form1.randomnumberhide.value, document.form1.randomnumberwritten.value)">
  6. </form>
  #2 (permalink)  
Antiguo 18/06/2010, 11:19
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Hacer que un formulario se envie o no dependiento de una condicion

Código Javascript:
Ver original
  1. function captcha($randomnumberhide, $randomnumberwritten){
  2.  if($randomnumberhide == $randomnumberwritten){
  3.   document.form1.submit()
  4.  }else{  
  5.    alert("Should write the validation numbers correctly.");
  6.    document.form1.Submit.disabled=true;  
  7.    return false;
  8.  }
  9. }

Código HTML:
Ver original
  1. <form action="process.php" method='POST' name="form1" onsubmit='return captcha();'>
  2.  
  3. <!---aqui tengo mas inputs--->
  4.  
  5. <input type="submit" value="Register" onclick="captcha(document.form1.randomnumberhide.value, document.form1.randomnumberwritten.value)">
  6. </form>

Saludos (:
  #3 (permalink)  
Antiguo 18/06/2010, 11:30
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: Hacer que un formulario se envie o no dependiento de una condicion

Hola:

Tienes que hacer que esa función captcha devuelva false cuando no quieras que se envíe, un boitón submit sin ná, y el tag form de esta manera:

<form onsubmit="return captcha(...)"...

De esa manera, si al evento se le envía el valor false, se cancela.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 18/06/2010, 11:36
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Hacer que un formulario se envie o no dependiento de una condicion

Lo coloqué como me puso cronos, pero me manda un error en esta linea:

Código Javascript:
Ver original
  1. document.form1.Submit.disabled=true;

y me sigue procesadondo el formulario
  #5 (permalink)  
Antiguo 18/06/2010, 12:11
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Hacer que un formulario se envie o no dependiento de una condicion

aqui copio el error que me mada:

Detalles de error de página web


Mensaje: 'document.form1.Submit' es nulo o no es un objeto
Línea: 86
Carácter: 3
Código: 0
  #6 (permalink)  
Antiguo 18/06/2010, 17:09
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: Hacer que un formulario se envie o no dependiento de una condicion

Hola:

¿Has hecho más pruebas...?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 18/06/2010, 17:09
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Hacer que un formulario se envie o no dependiento de una condicion

Perdona, esta tarde te puse el código y después vi que estaba mal pero me tenía que ir y no me dio tiempo a editar. Mira a ver ahora.
Código Javascript:
Ver original
  1. function captcha($randomnumberhide, $randomnumberwritten){
  2.  if($randomnumberhide != $randomnumberwritten){
  3.   alert("Should write the validation numbers correctly.");
  4.   document.form1.Submit.disabled=true;  
  5.   return false;
  6.  }else{  
  7.   return true;
  8.  }
  9. }

Código HTML:
Ver original
  1. <form action="process.php" method='POST' name="form1" onsubmit='return captcha(document.form1.randomnumberhide.value, document.form1.randomnumberwritten.value);'>
  2. <!---aqui tengo mas inputs--->
  3. <input type="submit" value="Register" />
  4. </form>

Saludos (:

PD: Si analizas el código, es anacrónico; creo que deberías buscar otra manera de hacerlo.
  #8 (permalink)  
Antiguo 18/06/2010, 19:42
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Hacer que un formulario se envie o no dependiento de una condicion

gracias por la respuesta, como estaba anterior estaba bien, solamente que tuve que cambiar el
<input type="submit" value="Register" /> por <input type="button" value="Register" />
al hacer eso ya me funcionó bien el script, gracias nuevamente por la ayuda
  #9 (permalink)  
Antiguo 18/06/2010, 19:47
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Hacer que un formulario se envie o no dependiento de una condicion

De que manera es anacrónico ? el script en si busca que el cliente introduzca un numero (que genero aleatoriamente) en una caja de texto, y asi compararla con un input hidden que le doy el valor de este numero, el JS es conque verifico que estos dos inputs coincidan.
  #10 (permalink)  
Antiguo 18/06/2010, 22:43
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: Hacer que un formulario se envie o no dependiento de una condicion

Hola:

¿Te has parado a leer mis respuestas?... al menos la primera

Si no usas un botón submit, siempre dependerás de javascript, y las validaciones javascript suelen ser de "importancia" secundaria. Además, tal como pones que has resuelto el tema, lo resuelves de "casualidad", porque tu else debe provocar error...

Te recomiendo que intentes aprender, sobre todo la parte teórica, y no volverás a tener problemas de esta índole.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 19/06/2010, 07:50
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Hacer que un formulario se envie o no dependiento de una condicion

Con anacrónico me refiero a que lo que tú necesitas es que el botón se bloquee si no cumnple una condición, pero esa condición se está evaluando mientras el formulario se envía (o está a punto de enviarse), por tanto ya pulsaste el botón. El formulario evidentemente no se envía si devuelve false, pero el botón se desahabilita o no después de que el formulario se envíe o no. Además si resulta que no son iguales y se deshabilita el botón, el formulario no se envía, pero ese botón está deshabilitado para siempre porque no le estás diciendo que vuelva a habilitarse.
Saludos (:

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:24.