Foros del Web » Programando para Internet » Javascript »

Consulta...dos funciones - onsubmit

Estas en el tema de Consulta...dos funciones - onsubmit en el foro de Javascript en Foros del Web. Buenos dias amigos, por favor tengo este script: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original <!-- <script language = "javascript" type = "text/javascript" > function funcion_uno ...
  #1 (permalink)  
Antiguo 28/11/2008, 10:08
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Pregunta Consulta...dos funciones - onsubmit

Buenos dias amigos,
por favor tengo este script:

Código php:
Ver original
  1. <!-- <script language="javascript" type="text/javascript">
  2. function funcion_uno()
  3. {...
  4. }
  5. function funcion_dos()
  6. {...
  7. }
  8. </script>
  9. </head>
  10. <body>
  11. <form action="" onsubmit="return (funcion_uno() && funcion_dos());">
  12. <...>
  13. <input type="submit" name="input_submit" value="BORRAR">    ////BORRAR/////
  14. <input type="submit" name="input_submit" value="ACTUALIZAR">   ////ACTUALIZAR///////
  15. </form>
  16. </body>-->

Como decirle al sistema??? que al dar click en submit:
a. BORRAR, me valide SOLO la funcion_uno /////FUNCION UNO///////
b. ACTUALIZAR, me valide SOLO la funcion_dos /////FUNCION DOS////////

Agradesco de antemano la respuesta k me puedan brindar.
  #2 (permalink)  
Antiguo 28/11/2008, 10:12
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: Consulta...dos funciones - onsubmit

Puedes usar el evento onclick de los botones y hacer la respectiva validación (Además de la solución que ya te dieron aquí: http://www.forosdelweb.com/f13/consu...4/#post2682596)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 28/11/2008, 11:06
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Bien David según lo sugerido por trumpetero, lo implemente a mis necesidades y esto kdo:

Código php:
Ver original
  1. <!-- <script language="javascript" type="text/javascript">
  2. function funcion_uno()
  3. {...
  4. }
  5. function funcion_dos()
  6. {...
  7. }
  8. </script>
  9. </head>
  10. <body>
  11. <form action="" onsubmit="return true;">
  12. <...>
  13. <input type="submit" name="input_submit" value="Borrar" onclick="checked(this['seleccion[]'])">
  14. <input type="submit" name="input_submit" value="Actualizar" onclick="vacio(this['cantidad[]'])">
  15. </form>
  16. </body>-->

pero no me validan como lo requiero?

Gracias...
  #4 (permalink)  
Antiguo 28/11/2008, 11:08
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: Consulta...dos funciones - onsubmit

Me refería a la sugerencia de ZiTAL. Bueno, de todos modos, ¿has probado como te dije validar en el onclick del respectivo botón?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 28/11/2008, 11:34
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

David intento darle con lo sugerido con Zital, pero entiendo k en su ejm el usa un archivo validate (src=validate.js)...
pero para mi caso en el form????

Código php:
Ver original
  1. <!-- <form action="" onsubmit="return (checked(this['seleccion[]']) && funcion_dos());">-->

como sería aquí...gracias
  #6 (permalink)  
Antiguo 28/11/2008, 12:07
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: Consulta...dos funciones - onsubmit

Es que si te fijas, ha puesto en el mensaje el contenido del archivo validate.js. Además, aún no has intentenado lo que te dije, haz la validación que corresponde al respectivo botón en su evento onclick.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 28/11/2008, 12:25
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

David estoy tratando de entender el archivo validate.js, solo una consulta con respecto a las funciones:
function a()
{
return true;
}
function b()
{
return false;
}

estas funciones a y b, tengo k reemplazarlas por las funciones k tenía en principio (dentro del html)???? de ser así return true y false que significan????...gracias

p.d. según lo mencionado líneas arriba ya está:
onclick="changeValue(this.value)" //para los dos submit
  #8 (permalink)  
Antiguo 28/11/2008, 12:28
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: Consulta...dos funciones - onsubmit

Esas funciones debes reemplazarlas por tus funciones de validación. A lo que yo me refería era a algo como:
Código html:
Ver original
  1. <input type="submit" value="Botón1" onclick="return validar1()" />
  2. <input type="submit" value="Botón2" onclick="return validar2()" />
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 28/11/2008, 13:05
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Bien esto quedó:
1.
<script type="text/javascript" src="validate.js">
2.
<form name="" method="post" action="accion.php" id=" onSubmit="return validate()">
3.
Código php:
Ver original
  1. <!--
  2. <input type="submit" name="input_submit" value="Borrar" onclick="return checked(this['seleccion[]'])">
  3. <input type="submit" name="input_submit" value="Actualizar" onclick="return vacio(this['cantidad[]'])"-->
4. Aquí en este archivo validate.js, no me cuadra:
Código php:
Ver original
  1. <!-- var publicVar;
  2. function changeValue(value)            /////que pasa con esta funcion
  3. {
  4.     publicVar=value;
  5. }
  6. function validate()
  7. {
  8.     var value;
  9.     if(publicVar=='Borrar')
  10.     {
  11.         value = checked();
  12.     }
  13.     else if(publicVar=='Actualizar')
  14.     {
  15.         value = vacio();
  16.     }
  17.      
  18.     return value;
  19. }
  20. function checked(checkbox)
  21. {...
  22. }
  23. function vacio(valor)
  24. {...
  25. }  
  26. -->
Sigue no validando...ni para una funcion, ni para la otra
  #10 (permalink)  
Antiguo 28/11/2008, 14:24
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Disculpen amigos, por seguirla con esto...pero sigo buscando en la web y no consigo hasta ahora nada relacionado a esto (los ejemplos son simples)

Gracias por la ayuda k me puedan brindar...
  #11 (permalink)  
Antiguo 28/11/2008, 16:49
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Alguien podría ayudarme a darle con este tema por favor....
  #12 (permalink)  
Antiguo 28/11/2008, 18:43
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: Consulta...dos funciones - onsubmit

He visto que trataste de aplicar el ejemplo que te puse, en ese caso no necesitas el validate.js ni tampoco necesitas colocar nada en el onsubmit del formulario, lo que sí está mal es this[...], como está en el botón, debería ser this.form[...].
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 01/12/2008, 08:32
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Hola David, segun lo sugerido sigue sin funcionar:
1. no necesitas el validate.js
...<script type="text/javascript" src="validate.js"> ...borrado
2. ni tampoco necesitas colocar nada en el onsubmit del formulario
aqui interpreto de esta forma <form id="" name="" post="" onsubmit=" ">
o te refieres a k lo borre del formulario <form id="" name="" post="">
3. lo que sí está mal es this[...], como está en el botón, debería ser this.form[...].
Código php:
Ver original
  1. <!-- onclick="return checked(this.seleccion[])"
  2. onclick="return vacio(this.cantidad[])"-->

He probado y te comento que sigue sin validar para c/boton submit...
Agradesco de antemano sus colaboraciones
  #14 (permalink)  
Antiguo 01/12/2008, 10:38
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Para decirles k hubo un error, y quedaron asi los dos submit:
Código php:
Ver original
  1. <!-- <input type="submit" name="input_submit" value="Borrar" onClick="return checked(this.form['seleccion[]'])">
  2. <input type="submit" name="input_submit" value="Actualizar" onClick="return vacio(this.form['cantidad[]'])"> -->

pero no comprendo xq la validación para el value ACTUALIZAR funciona, mientras k pa el value BORRAR no funciona!!!!!!

Ayudenme por favor...
  #15 (permalink)  
Antiguo 01/12/2008, 11:14
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Hola estimados amigos, hice la prueba simulando la existencia de un solo submit para ver si el error era la funcion checked, de la sgte manera:

Código php:
Ver original
  1. <!-- <form onsubmit="return checked(this['seleccion[]'])"
  2. <input type="checkbox" name="seleccion[]" value="<?php echo $v['id']; ?>">
  3. <input type="submit" value="BORRAR"-->

y valida oka!!!!!, me podrian ayudar donde esta el error??????
  #16 (permalink)  
Antiguo 01/12/2008, 11:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Consulta...dos funciones - onsubmit

¿Podrías mostrarnos el código completo de tu formulario? ¿Has mirado la Consola de Errores de tu navegador?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #17 (permalink)  
Antiguo 01/12/2008, 11:56
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Bien David, este el codigo:

Código php:
Ver original
  1. <!-- <form name="a<?php echo $v['identificador'] ?>" method="post" action="accionCarrito.php" id="a<?php echo $v['identificador'] ?>">
  2. <tr>
  3.     <td width="5%"></td>
  4.     <td width="9%">Cód.</td>
  5.     <td width="27%">Producto</td>
  6.     <td width="10%">Cantidad<br>Solicitada</td>
  7. </tr>
  8. <?php
  9.   foreach($carro as $k => $v)
  10.   {
  11.     $contador++;
  12. ?>
  13. <tr>
  14.     <td align="center"><input type="checkbox" name="seleccion[]" value="<?php echo $v['id']; ?>"></td>
  15.     <td align="center"><?php echo $v['id'] ?></td>
  16.     <td><?php echo $row2['medicamento'] ?></td>
  17.     <td align="center">
  18.         <input type="text" name="cantidad[]" id="cantidad" value="<?php echo $v['cantidad'] ?>">
  19.         <input name="id[]" type="hidden" id="id" value="<?php echo $v['id'] ?>"></td>
  20. </tr>
  21.   <?php
  22.   }
  23.   ?>
  24. </table>
  25. <table>
  26. <tr>
  27.     <td align="center"><input type="submit" name="input_submit" value="Borrar" onClick="return checked(this.form['seleccion[]'])"></td>
  28.     <td align="center"><input type="submit" name="input_submit" value="Actualizar" onClick="return vacio(this.form['cantidad[]'])"></td>
  29. </tr>
  30. </table>
  31. </form>-->
  #18 (permalink)  
Antiguo 01/12/2008, 12:01
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: Consulta...dos funciones - onsubmit

Y... ¿qué tienes en la función checked?. Además, nunca repitas el mismo id dentro de una página, te dará problemas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #19 (permalink)  
Antiguo 01/12/2008, 12:13
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Bien para la primera parte:
Código php:
Ver original
  1. <!-- <script type="text/javascript">  
  2. function checked(checkbox)
  3. {
  4.     for(i=0;i<checkbox.length;i++)
  5.     {      //recorrer todos los checkbox primero
  6.         if(checkbox[i].checked)  //si encuentras uno seleccionado
  7.             return true;      //para que la función devuelva verdadero
  8.     }                                 //si no se encuentra ninguno, finaliza el for y devuelve false
  9.     alert("Debe seleccionar al menos un producto!");
  10.     return false;
  11. }
  12. </script>   -->

Con respecto al segundo pto, si no me equivoco es:
Código php:
Ver original
  1. <!--<input name="id[]" type="hidden" id="id" value="<?php echo $v['id'] ?>">-->
estare evaluando k hace esta parte en todo caso eliminaré esta linea
  #20 (permalink)  
Antiguo 01/12/2008, 12:58
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

En relacion a la parte del codigo:
<input name="id[]" type="hidden" id="id" value="<?php echo $v['id'] ?>">
se tomo la decision de eliminarlo, ademas en esta parte:
<input type="text" name="cantidad[]" value="<?php echo $v['cantidad'] ?>"> se elimino tambien id="cantidad"

de esta manera el script, funcionan los dos botones submit...con la pequeña observación de k al momento de tenerlo oka el submit ACTUALIZAR (rellenar todos los campos vacios), se da el proximo click a este submit me sale el msje DEBE SELECCIONAR AL MENOS UN PRODUCTO (Msje del otro submit)

Ojo k si solo trabajo el submit BORRAR, valida a la perfeccion.
  #21 (permalink)  
Antiguo 01/12/2008, 15:51
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Con respecto a la consola de errores del navegador, esto esta tirando:

Línea: 147
Carácter: 1
Error: El objeto no acepta esta acción
Código: 0
Dirección URL: http://mydominio/hoberwilly/vercarrito.php?

Agradesco la ayuda k me puedan brindar...
  #22 (permalink)  
Antiguo 01/12/2008, 16:14
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Por favor omitir estos 2 últimos msjes:
////////////////////////////////////
de esta manera el script, funcionan los dos botones submit...con la pequeña observación de k al momento de tenerlo oka el submit ACTUALIZAR (rellenar todos los campos vacios), se da el proximo click a este submit me sale el msje DEBE SELECCIONAR AL MENOS UN PRODUCTO (Msje del otro submit)

Ojo k si solo trabajo el submit BORRAR, valida a la perfeccion.
///////////////////////////////
Con respecto a la consola de errores del navegador, esto esta tirando:

Línea: 147
Carácter: 1
Error: El objeto no acepta esta acción
Código: 0
Dirección URL: http://mydominio/hoberwilly/vercarrito.php?

Agradesco la ayuda k me puedan brindar...
/////////////////////////////////

Solo aclaro k el submit ACTUALIZAR esta operativo, mientras k el otro submit BORRAR no valida nada...Gracias y mil disculpas por los impases k he podido originar
  #23 (permalink)  
Antiguo 01/12/2008, 19:37
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: Consulta...dos funciones - onsubmit

Dinos qué tienes en esa línea del código. Por otro lado, quizás te resulte útil usar Firefox con el complemento FireBug para encontrar el error. O por lo menos, en Internet Explorer activar la depuración de scripts. Otra cosa no se me ocurre, ¿cambiar el nombre de la función?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #24 (permalink)  
Antiguo 02/12/2008, 02:17
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 2 meses
Puntos: 62
Respuesta: Consulta...dos funciones - onsubmit

.
.
.
.
dejavu?
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #25 (permalink)  
Antiguo 02/12/2008, 09:58
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Consulta...dos funciones - onsubmit

Buen día David,
te cuento que gracias a última pregunta:
...Otra cosa no se me ocurre, ¿cambiar el nombre de la función?efectivamente al cambiar el nombre de la función (no entiendo aqui a k se deberá pero bueno ...), el sistema funciona de maravillas...no se k decirte pero otra vez gracias
  #26 (permalink)  
Antiguo 02/12/2008, 10:20
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: Consulta...dos funciones - onsubmit

Jaja , se me ocurrió eso porque tu función se llamaba checked por lo que el intérprete podría considerarlo ambiguo al atributo del elemento (que también es checked).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 18:49.