2009-04-28 6 views
0

Je suis en train de créer une page où un utilisateur sélectionne le type d'abonnement qu'ils aimeraient acheter et soit entre leurs informations de carte de crédit ou touche le « Payez PayPal » bouton. Jusqu'ici, la meilleure façon de le faire était d'avoir un seul menu déroulant où l'utilisateur sélectionnerait le type d'abonnement, puis deux formulaires côte à côte (un où ils entreraient dans le CC info). et un autre avec juste un gros bouton PayPal). Je suis arrivé à cette décision de sorte que dans une forme, je pouvais envoyer un paramètre ?paymentType=CreditCard querystring et dans l'autre, je pouvais envoyer ?paymentType=Paypal. Cela me fait sortir d'avoir à vérifier si buttonText == "Prochain" processus comme CC, sinon rediriger vers PayPal. Vu que le contrôle d'abonnement ne fait pas partie du formulaire , soit, je ne peux pas accéder au type qui a été sélectionné sans dupliquer le contrôle sous les deux formes (ce qui ne fournit pas la meilleure expérience utilisateur).La meilleure façon d'utiliser un contrôle sous deux formes

Y a-t-il une meilleure façon de procéder?

Répondre

2

Pourquoi avez-vous deux formulaires pour cela? J'irais certainement avec un formulaire. Parce que même si vous aviez deux formulaires, ils feraient toujours la même chose; abonnement.

Vous pouvez avoir deux boutons radio comme celui-ci

<input id="radiobtn-paypal" name="PaymentType" type="radio" value="PayPal" /> 
<label for="radiobtn-paypal">PayPal</label> 
<input id="radiobtn-cc" name="PaymentType" type="radio" value="CC" /> 
<label for="radiobtn-cc">Credit Card</label> 

En fonction de la sélection, afficher la zone de texte de carte de crédit ou non. Et puis soit traiter la carte de crédit ou faire ce que vous devez faire avec la sélection PayPal sur l'action en fonction de la sélection de l'utilisateur. Après tout ce sont les contrôles d'entrée html.

+0

Je ne me souviens pas quelle route j'ai finalement pris à ce sujet, mais je devine que je suis allé à une forme. – jerhinesmith

Questions connexes