Foros del Web » Programando para Internet » Javascript »

cómo enviar diferentes forms dependiendo de radio

Estas en el tema de cómo enviar diferentes forms dependiendo de radio en el foro de Javascript en Foros del Web. Muy buenas a todos: Antes de nada pedir disculpas por que posiblemente sea bastante fácil, pero no doy encontrado la manera. En mi web estoy ...
  #1 (permalink)  
Antiguo 22/05/2015, 04:46
 
Fecha de Ingreso: mayo-2015
Ubicación: Pontevedra
Mensajes: 7
Antigüedad: 8 años, 9 meses
Puntos: 0
cómo enviar diferentes forms dependiendo de radio

Muy buenas a todos:
Antes de nada pedir disculpas por que posiblemente sea bastante fácil, pero no doy encontrado la manera.
En mi web estoy intentando implementar diferentes formas de pago, en concreto dos, (tarjetas) y paypal.
Pero claro, el usuario tiene que elegir entre las dos, para esto cree un form con dos radio-button.
y luego tengo creado los dos formularios necesarios para cada una de las dos opciones pero no soy capaz de hacer que me los envie.
Os resumo el codigo a ver si me podeis ayudar.
<form id="formaPagoForm" name="formaPagoForm" method="post" action="">
<input type="radio" name="modoPago" id="sabadell" value="sabadell"
<input type="radio" name="modoPago" id="paypal" value="paypal">
</form>
<button type="input" onclick="enviar()">IR A PAGAR</button>

<script type="text/javascript">

function enviar() {if (document.forms.formaPagoForm.paypal.checked==true ){document.forms.paypalForm.submit();}
else if (document.forms.formaPagoForm.sabadell.checked==tr ue){document.forms.sabadellForm.submit();}

</script>

Perdón por el tocho y gracias de antemano.
P:D
  #2 (permalink)  
Antiguo 22/05/2015, 15:33
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.551
Antigüedad: 12 años, 4 meses
Puntos: 977
Respuesta: cómo enviar diferentes forms dependiendo de radio

Para poder tomar al elemento de esa manera, debes de usar el nombre y no el id, pero como ambos tienen el mismo nombre, mejor tómalos así:

Código Javascript:
Ver original
  1. if (formaPagoForm.querySelector("#paypal").checked == true){
  2.     document.forms.paypalForm.submit();
  3. }
  4. else if (formaPagoForm.querySelector("#sabadell").checked == true){
  5.     document.forms.sabadellForm.submit();
  6. }

Aunque si solo se debe de marcar una opción, sería mejor que uses radiobuttons, además, no tiene sentido el que tengas un tercer formulario con las opciones a marcar si nunca enviarás dicho formulario para procesar sus datos.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 22/05/2015, 17:31
 
Fecha de Ingreso: mayo-2015
Ubicación: Pontevedra
Mensajes: 7
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: cómo enviar diferentes forms dependiendo de radio

Antes de nada agradecerte tu respuesta,pero no te entiendo muy bien.
Me dices que utilice radio-buttons, cuando eso es lo que hago para poder seleccionar cual de las opciones (otros dos formularios) enviar o sabadellForm o paypal form.
Este tercer formulario es el que útilizo para llamar a la función enviar que es la que dependiendo del radio seleccionado enviará o sabadellForm o paypalForm, por eso entiendo que tiene que haber tres formularios, de ahí que los radios tengan el mismo nombre. Los formularios sabadellForm y paypalForm no los incluyo en el post porque creo que no son necesarios para la duda, pero es el típico formulario que envía mediante hidden los valores necesarios para la pasarela de pago, y ambos funcionan correctamente al enviarlos independientemente. Si conoces algún script que realice la función o una orientación te lo agradecería mucho.
Un saludo.
  #4 (permalink)  
Antiguo 22/05/2015, 18:09
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.551
Antigüedad: 12 años, 4 meses
Puntos: 977
Respuesta: cómo enviar diferentes forms dependiendo de radio

Perdón, no me había fijado que eran radiobuttons. Mea culpa.

El que los radiobuttons tengan el mismo nombre está bien, a lo que me refería era a que estás asociando la función al botón y no al formulario, por eso decía que no era necesario usar ese formulario. Incluso podrías ejecutar la función seleccionando cualquiera de los radiobuttons, enviándole el id del radiobutton marcado y según sea el valor, procesarías uno de los dos formularios.

Por cierto, ¿lo intentaste de la manera en la que te lo indiqué?

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: dependiendo, forms, formulario, input, radio
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 00:53.