Foros del Web » Programando para Internet » Javascript »

formulario con mas de un boton submit

Estas en el tema de formulario con mas de un boton submit en el foro de Javascript en Foros del Web. Como he de hacer para tener un formulario con diferentes botons que han de recoger el valor del formulario en el post y donde he ...
  #1 (permalink)  
Antiguo 20/11/2004, 17:17
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 0
formulario con mas de un boton submit

Como he de hacer para tener un formulario con diferentes botons que han de recoger el valor del formulario en el post y donde he de poner la llamada a las funciones?

<input class="nover" type="submit" name="grabar" value="Grabar">
<input class="nover" type="submit" name="enviar" value="Enviar">
  #2 (permalink)  
Antiguo 28/11/2004, 05:31
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 0
Como diferenciar el action dependiendo del submit que se haya seleccionado?
  #3 (permalink)  
Antiguo 28/11/2004, 09:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola jsoledia:

Puedes usar el evento onclick de cada botón para diferenciarlo...

<input class="nover" type="submit" name="grabar" value="Grabar" onclick="enviando = this.name" />
<input class="nover" type="submit" name="enviar" value="Enviar" onclick="enviando = this.name" />

Y luego al hacer el submit deberías chequear el valor de la variable enviando...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 30/11/2004, 03:30
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 0
donde redireciono el action a un php u otro, en el action o en el php que recibe el form. I como deberia hacerlo?
  #5 (permalink)  
Antiguo 30/11/2004, 06:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola jsoledia:

Al hacer el submit tienes que ver el valor de la variable enviando:

<form ... onsubmit="this.action = (enviando == 'grabar') ? 'grabar.php' : 'enviar.php'" ... >

Si vas a usar más de 2 botones, serái mejor usar una función declarada en el head:
<input type="button" onclick="direccionar(this.form)" ... />
Y en el head:
function direccionar(esto) {
esto.action = (enviando == "grabar") ? "grabar.php" :
(enviando == "enviar") ? "enviar.php" :
(enviando == "mostrar") ? "mostrar.html" :
.......
//última opción
"otroCaso.php";
}

P.D: Espero que te hayas fijado en mi firma...
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 06/12/2004, 08:46
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 0
Gracias caricatos,

Pero mi conocimeinto no me permite aplicar bien tus sabios consejos.

He intentado añadir tu codigo en mi formulario y no me funciona.

No se como decirle al action que vaya a una php u a otro segun el botton que pulse.

Según tu codigo he de añadir una funcion en el onsubmit, pero y en el action como lo indico.

<form name="formulari" method="post" target="main" onSubmit="return comprova(); this.action = (v_botton == 'Enviar') ? 'aplirsi_enviar.php' : 'aplirsi_salvar.php'" onKeyPress="disableEnterKey()">


<input class="nover" type="submit" name="enviar" value="Enviar" onclick="v_botton = this.name">

<input class="nover" type="submit" name="salvar" value="Salvar" onclick="v_botton = this.name">
  #7 (permalink)  
Antiguo 06/12/2004, 09:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola jsoledia:

No te preocupes, que aquí tenemos paciencia, y si no te funcionan las cosas hoy, si tiene solución el tema, seguro que en pocos días te funcionará...

A simple vista tienes un error muy grave para tus cometidos.
Cuando haces un "return", todo lo que siga a esa "instrucción" queda sin efecto, o sea que si pones un return y luego cambias el action del formulario, ese cambio no se efectuará.

Prueba invirtiendo el orden de ejecución de lo que tienes en el onsubmit del form:

<form name="formulari" method="post" target="main" onSubmit="this.action = (v_botton == 'Enviar') ? 'aplirsi_enviar.php' : 'aplirsi_salvar.php'; return comprova(); " onKeyPress="disableEnterKey()">

No sé lo que hace disableEnterKey(), pero no creo que importe con respecto a la funcionalidad del formulario.

Espero que te sirva.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 06/12/2004, 11:42
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 0
Caricatosl, eres muy amable.

Era lo que tu me decias. Al cambiar el orden de me ha funcionado.
  #9 (permalink)  
Antiguo 06/12/2004, 14:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284


Me alegro de que ya funcione... es solo cuestión de paciencia.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 15:22.