Foros del Web » Programando para Internet » Javascript »

onsubmit: Funciones en una sola funcion

Estas en el tema de onsubmit: Funciones en una sola funcion en el foro de Javascript en Foros del Web. Como podria en lugar de indicar varias funciones en el evento onsubmit, crear una funcion que contenga todas las demas y poner solo una funcion ...
  #1 (permalink)  
Antiguo 29/04/2010, 15:12
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Información onsubmit: Funciones en una sola funcion

Como podria en lugar de indicar varias funciones en el evento onsubmit, crear una funcion que contenga todas las demas y poner solo una funcion en el evento onsubmit.


Ejemplo:

onsubmit="return (funcion1(this) && funcion2(this))"

convertirlo a

function validartodo(){
...
}

onsubmit="return validatodo()"

Como se indicaria ambas funciones dentro de la funcion validatodo de tal modo que solo tenga que indicarla ella sola dentro de onsubmit, onsubmit="return validatodo()"

Saludos!
  #2 (permalink)  
Antiguo 29/04/2010, 15:16
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: onsubmit: Funciones en una sola funcion

Podrias crear todas las funciones independientes y una que contenga todas. Ejemplo
Código Javascript:
Ver original
  1. function foo(){
  2.     //código
  3. }
  4.  
  5. function bar(){
  6.     //código
  7. }
  8.  
  9. function candy(){
  10.     foo();
  11.     bar();
  12. }
  13. candy();

Edito:
También se puede lograr de esta forma
Código PHP:
Ver original
  1. <script type="text/javascript">
  2. function candy(){
  3.     foo = function(){
  4.         alert('foo');
  5.     }
  6.     foo();
  7.     bar = function(){
  8.         alert('bar');
  9.     }
  10.     bar();
  11. }
  12. candy();
  13. </script>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 29/04/2010 a las 15:41
  #3 (permalink)  
Antiguo 29/04/2010, 15:38
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: onsubmit: Funciones en una sola funcion

Hola:

A ver...

function validartodo(f){
return (funcion1(f) && funcion2(f));
}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 29/04/2010, 20:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: onsubmit: Funciones en una sola funcion

Grax por las respuestas!

Pero no logro comprender porq es que no me funciona!
es decir, todo esta bien, el unico problema es que se envia,
el formulario siempre se envia, almenos esta vez cuando puse todo false no
se envio, y eso ya es algo porq antes se enviaba siempre!!

podrian decirme que va esta mal ?

Código Javascript:
Ver original
  1. <html>
  2.       <head>
  3.           <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  4.           <meta name="author" content="www.intercambiosvirtuales.org" />  
  5.           <title>Untitled 2</title>
  6.       </head>
  7.      <body>
  8.       <script>
  9.  
  10.       function hola1(word1)  
  11.       {
  12.           if(word1>10)
  13.           {
  14.             alert(word1);
  15.              alert("muy chin");
  16.               return false;
  17.           }
  18.           else
  19.           {
  20.           return true;
  21.           }
  22.       }
  23.       function hola2 (word2)  
  24.       {
  25.           if(word2>10)
  26.           {
  27.             alert(word2);
  28.               alert("muy chin");
  29.               return false;
  30.           }
  31.           else
  32.           {
  33.           return true;
  34.           }
  35.       }
  36.      
  37.      
  38.       function valida(f){
  39.       return (hola1(f) && hola2(f));
  40.       }
  41.       </script>  
  42.      
  43.      
  44.      
  45.       <form action="archivito.php" onsubmit="return valida(this)" method="post" name="tutanquieto">
  46.       <input type="text" name="texto1" onblur="return hola1(value);" />
  47.       <input type="text" name="texto2" onblur="return hola2(value);" />
  48.      <input  type="submit" name="cocoliso" value="salchichon"/>
  49.       </form>    
  50.       </body>
  51.       </html>

Por cierto no he probado con las versiones de abi probare ahora
  #5 (permalink)  
Antiguo 30/04/2010, 00:39
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: onsubmit: Funciones en una sola funcion

Hola:

Cuando pasas un parçametro para una validación, si esa validación será chequeando varios controles... entonces es mejor pasar todo el form como parámetro, entonces debe cambiarse los parámetros para cada control...

function validartodo(f){
return (hola1(f.texto1.value) && hola2(f.texto2.value));
}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 30/04/2010, 08:03
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: onsubmit: Funciones en una sola funcion

Simplemente Perfecto ! Super GraX!

Le coloque un alert dentro de la funcion a f y creo que mas o menos entiendo lo que sucede !

Mil gracias!
  #7 (permalink)  
Antiguo 30/04/2010, 10:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: onsubmit: Funciones en una sola funcion

Holas a todos ! anda!! que mala suerte tengo

Luego de un momento de felicidad de haber creido que ya habia terminado con la parte dinamica de una parte de mi web, al momento de aplicar el code a mi pagina y realizar el troubleshooting a todo, pues entontre un error en el envio .

Entonces volvi a el codigo que postie para confirmarlo y si, el problema es de la funcion de onsubmit.

-Si llenas los datos mal, devuelve false y no se envia
-Si lo dejas vacio tampoco se envia
-Si el primer campo devolvio True pero lo demas false no se envia.

PERO...

-Si la primera funcion indicada en la funcion validatodo devuelve true y las demas no han devuelto false, el formulario se envia. En este caso, si llenas el primer campo correctamente y envias, se enviara aun si el segundo campo esta vacio.


Es como si todo dependiera del retorno (true) de la primera funcion que indicas en la funcion validartodo, si esta devuelve true y ninguna otra a devuelto false , esta listo para enviar.

Estoy intentando resolverlo, pero no me vendria nada mal una mano.

Etiquetas: funcion, funciones
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 10:12.