Pb avec formulaire

Résolu/Fermé
nrq125 Messages postés 4 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 19 août 2008 - 18 août 2008 à 18:00
nrq125 Messages postés 4 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 19 août 2008 - 19 août 2008 à 12:15
Bonjour,

Je souhaite que les visiteurs coche une case (conditions générales de vente) ensuite le bouton s'active et quand il clique sur le bouton il se rendent sur la page de paiement, pour la première partie pas de souci j'ai réussi en fouillant à trouver un code qui marche mais impossible de se rendre sur la page que je souhaite en cliquant sur le bouton.

Voici le code que j'ai inséré. J'utilise le logiciel Webtodate 5,
<script type="text/javascript">
function ValideForm() {
	if(document.getElementById('btnaccepte').checked == true) {document.getElementById('btmvalide').disabled = false }
	if(document.getElementById('btnaccepte').checked == false) {document.getElementById('btmvalide').disabled = true }
}
</script> 

<form>
<p><input type="checkbox" id="btnaccepte" value="valeur" onClick="ValideForm()" /> Je reconnais avoir pris connaissance des conditions générales de ventes</p>

<p><input type="submit" id="btmvalide" value="Poursuivre la commande" disabled /></p>
</form>


Merci d'avance pour votre aide. J'ai vu le formulaire d'inscription, il correspond tout à fait à ce que je souhaite.

Cordialement

NRQ125

4 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 août 2008 à 10:48
Bonjour,

En HTML le but d'un formulaire c'est de remplir des choses pour ensuite être rediriger sur une page de traitement, d'affichage, etc. Pour cela, tu remarquera que la balise HTML <FORM> possède des arguments, notamment "action" qui te permet de spécifier la page sur laquelle sera envoyé l'utilisateur lorsque ton formulaire sera validé.

Dans ton cas tu peux donc ajouter comme ci-dessous le paramètre action en y mettant le chemin d'accès (relatif à la position de ton script actuel dans l'arborescence de ton site internet) à la page de redirection :
<form action="affichage.php" method="POST">
  ...
</form>


De même tu peux également spécifier le paramètre "method". Ce paramètre indique de quelle manière les données de ton formulaire sont envoyée à la page de redirection. POST pour qu'elle le soit de manière "cachée", et GET pour quelle le soit de manière "visible" dans l'url.

Ca répond à ton problème ?
-1
nrq125 Messages postés 4 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 19 août 2008
19 août 2008 à 10:59
Je te remercie de ta réponse, mais dans mon cas je souhaite être sur que les clients ont bien lu ou du moins ont accepté les CGV voilà pourquoi je met une case à cocher avec un bouton, alors peut être y a t il d'autre solution que de faire un formulaire, mais je n'ai trouver que ça, je vais essayer ta réponse.
-1
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 août 2008 à 11:30
Dans ce cas, si tu veux être sur qu'il accepte effectivement tu devrait plutôt mettre un input de type "button" et non "submit" pour la validation. Ainsi tu aura toujours un bouton qui lance ta fonction javascript de validation. Il ne te reste alors plus qu'à forcer l'envoi du formulaire dans cette fonction javascript si tes conditions de validation sont vérifiées (cocher les CVG).

Pour submit ton formulaire via javascript tu peux nommer ton formulaire dans ta page via un identifiant :
<form id="myForm" action="traitement.php" method="POST">
   ...
</form>


Et dans ta fonction javascript tu mets :
document.myForm.submit();


Pour submiter ton formulaire.
-1
nrq125 Messages postés 4 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 19 août 2008
19 août 2008 à 11:46
Je suis un peu larguer dans tes explications, je debute vraiment en programmation, en tout cas ta solution marche bien, mais je ne suis pas ur que j'ai choisi le bon principe.

En effet avant paiement je veux un double validation, une pour le formulaire et une autre pour les CGV ensuite seulement ils accedent au paiement. (conseil de l'UFC pour les sites marchands)

Avec ma methode je suis sur que s'il a payer c'est qu'il a accepter les CGV sinon il ne voit pas la page de paiement.

Dis moi ce que tu en pense STP ?

En tout cas merci en 5 minutes tu as regler un PB sur lequel j'ai passer 6 heures hier.
-1
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
19 août 2008 à 11:59
Bah que dire de plus, cette méthode est effectivement la bonne.
Tu as ta validation sur les données du formulaire d'un coté, puis la vérification que les conditions générales de ventes sont bien cochées de l'autre. Au final, les deux doivent être OK pour pouvoir accéder à la page de paiement donc le principe est bon, c'est ce qu'il faut faire.

Ce qui peut éventuellement être changé (ce que moi j'aurais fais), plutôt que d'avoir un contrôle sur ta checkbox (celle qui permet de cocher les CVG) qui te permet d'activer le bouton de validation du formulaire, j'aurai laissé ce bouton activer en permanence et faire la vérification (que la checkbox est bien cochée) directement avec les autres contrôles (sur le formulaire). Mais c'est un détail et ta méthode fonctionne tout aussi bien.

Le principal c'est que ça fonctionne. (c'est bien le cas ?)
-1
nrq125 Messages postés 4 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 19 août 2008
19 août 2008 à 12:15
Merci pour ta réponse.
-1