Foros del Web » Programando para Internet » Javascript »

Consulta...onsubmit

Estas en el tema de Consulta...onsubmit en el foro de Javascript en Foros del Web. Hola amigos, por favor si me podrian ayudar a resolver este problema con respecto al evento onsubmit: tengo un formulario: <form action="" onsubmit("return comprueba();")> ... ...
  #1 (permalink)  
Antiguo 24/11/2008, 16:22
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...onsubmit

Hola amigos, por favor si me podrian ayudar a resolver este problema con respecto al evento onsubmit:

tengo un formulario:
<form action="" onsubmit("return comprueba();")>
...
<input type="submit" value="Enviar 1">
<input type="submit" value="Enviar 2">
</form>

el punto esta en que quisiera que al dar click en Enviar 1, me diferencie un onsubmit como:
function comprueba()
{
if (confirm('¿Esta seguro de confirmar su pedido?')) return true;
return false;
}

hasta ahi todo bien, pero cuando de click en Enviar 2 solo para este boton sea otra funcion:
function checked()
{
if (confirm('¿I help me?')) return true;
return false;
}

Gracias de antemano por la ayuda brindada
  #2 (permalink)  
Antiguo 24/11/2008, 16:31
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: Consulta...onsubmit

Hola:

Podrías cambiar el action con el evento click de cada botón... y por cierto... creo que como pones el onsubmit no te debe funcionar...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 24/11/2008, 16:39
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Consulta...onsubmit

Exacto, Pepe, lo del error del onsubmit. Igual contesto porque lo estaba preparando. Una alternativa:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
<
script>
function 
comprueba()
{
if(
window.bot.value!='Enviar 1')return checked();
if (
confirm('¿Esta seguro de confirmar su pedido?')) return true;
return 
false;
}
function 
checked()
{
if (
confirm('¿I help me?')) return true;
return 
false;
}
</script>
</head>

<body>
<form action="" onsubmit="return comprueba();")>
<input type="submit" value="Enviar 1" onclick="window.bot=this">
<input type="submit" value="Enviar 2" onclick="window.bot=this">
</form>

</body>
</html> 
  #4 (permalink)  
Antiguo 24/11/2008, 16: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...onsubmit

Gracias Caricatos y Panino 5001, estoy adaptandolo las sugerencias brindadas espero no tener ningun incoveniente de lo contrario espero me puedan seguir ayudando...gracias otra vez
  #5 (permalink)  
Antiguo 24/11/2008, 16:56
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: Consulta...onsubmit

Cita:
Iniciado por Panino5001 Ver Mensaje
Exacto, Pepe, lo del error del onsubmit. Igual contesto porque lo estaba preparando...
Hola:

Como en otras ocasiones, casi coincidimos en las respuestas y aunque no lo había preparado, aprovecho para matizar que es una ocasión propiacia para usar un tag input en vez del tag button... bien podría usarse un tag button para hacer submit, pero la semántica de los botones es simplemente que sea un botón... o sea pulsarlo, pero en este caso importa el botón que se pulse, o sea que se trata de una entrada (input)

En resúmen, hacer submit, un botón... condicionar el submit, un input...

Perdón por el lapsus...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 25/11/2008, 16:31
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...onsubmit

Hola amigos, les cuento k implemente según lo sugerido x Panino5001 pero no la doy en la solución asi como esta en todos los botones submit me sale el alert de la funcion confirma()????

Código php:
Ver original
  1. <!-- <script type="text/javascript">
  2. function checked(radio)
  3. { ...
  4. }
  5. function confirma()
  6. {
  7.    if(window.bot.value!='Cancelar Pedido') return checked();
  8.    if(confirm('¿Esta seguro de cancelar el pedido?')) return true;
  9. return false;
  10. }
  11. </script>
  12. <form name="" method="post" action="accion.php" onsubmit="return checked(this.radioboton) && confirma();">
  13.     <td><input type="submit" name="input_submit" value="Consultar Pedido" onclick="window.bot=this"></td>
  14.     <td><input type="submit" name="input_submit" value="Autorizar Pedido" onclick="window.bot=this"></td>
  15.     <td><input type="submit" name="input_submit" value="Cancelar Pedido" onclick="window.bot=this"></td>
  16. </form>
  17. -->

p.d. la funcion confirma quisiera solo para el value "CANCELAR PEDIDO" ...Gracias
  #7 (permalink)  
Antiguo 25/11/2008, 17:01
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...onsubmit

Si me podrian dar una ayudita por favor....gracias
  #8 (permalink)  
Antiguo 25/11/2008, 18:46
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...onsubmit

En el evento onsubmit solo debe ir "return confirma()"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 25/11/2008, 18: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...onsubmit

Gracias de todas maneras, pero ya lo vi el error...estaba efectivamente en el evento onsubmit tambien pero era a la hora de llamar las dos funciones:
onsubmit="return (funcion1() && funcion2());" //script correcto

muchas gracias...
  #10 (permalink)  
Antiguo 25/11/2008, 19:01
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...onsubmit

Una ultima consultita, cuando se visualiza el mensaje (segun el codigo lineas arriba), menciona:
///////¿Esta seguro de cancelar el pedido?//////

pero se podrá como una especie de ayuda al usuario decirle:
///////¿Esta seguro de cancelar el pedido nº 000115?////// 000115=idFactura de la bd

se podrá esto????
  #11 (permalink)  
Antiguo 25/11/2008, 19:03
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...onsubmit

Se puede, pero depende de si es un único producto el que das la posibilidad de cancelar o si son varios. Si es único, puedes directamente imprimir con PHP en ese lugar el id del producto:
Código PHP:
Ver original
  1. confirm("Cancelar pedido nº <?php echo $id ?>")
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 25/11/2008, 19:12
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...onsubmit

Si efectivamente es para un único producto la cancelación, pero existe esta tirando un problema k:
¿Está seguro de cancelar el pedido Nº? ///mas no reconoce el idFactura de la bd para ese selección

Código php:
Ver original
  1. <!--    if(confirm('¿Esta seguro de cancelar el pedido Nº <?php echo $row['idFactura'] ?>?')) return true; -->

aki falta algo, verdad????? y es el la consulta k realiza en el body del php:
Código php:
Ver original
  1. <!--   <?php
  2.   while($row=mysql_fetch_array($qry))
  3.   {
  4.   ?>
  5.   <tr>
  6.     <td align="center"><?php echo $row['idFactura'] ?></td>
  7.     <td align="center"><?php echo $row['categoria'] ?></td>
  8.     <td align="center"><input type="radio" name="radioboton" value="<?php echo $row['idFactura'] ?>"></td>
  9.   </tr>
  10.  <?php
  11.  }
  12.  ?> -->
  #13 (permalink)  
Antiguo 25/11/2008, 19:23
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...onsubmit

A lo que me refería es si en la página tienes varios productos, que, como veo, es el caso. Solo tienes que obtener el value del radio seleccionado, ya que es allí donde guardas el id del producto. En tu otro tema creo que ya te había mostrado cómo hacerlo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 25/11/2008, 19:37
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...onsubmit

Bien lo estare desarrollando, pero cualquier incoveniente espero me puedas ayudar...gracias
  #15 (permalink)  
Antiguo 26/11/2008, 13:31
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...onsubmit

Gracias David por tus consejos,
dejo el codigo x si alguien lo necesite:
Código php:
Ver original
  1. <!-- function confirma(radio)
  2. {
  3.     if(window.bot.value!='Cancelar Pedido') return checked();
  4.     for(i=0;i<radio.length;i++)
  5.     {
  6.         if(radio[i].checked)
  7.         {
  8.             if(confirm('¿Esta seguro de cancelar el pedido Nº '+radio[i].value+ '?'))
  9.                 return true;
  10.                 return false;
  11.         }
  12.     }
  13. } -->
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 14:26.