Verif checkbox en javascript

Bonjour,

Je voudrais vérifier si mon checkbox a bien été coché avant de cliquer sur mon a href. Si le checkbox n'est pas coché je lui affiche qu"il est obligatoire de le cocher sinon je le renvoi sur paypal.
Comment puis-je faire?

Voici le html:

$contenu .= '<tr><td class = "colonne-paypal-pdf"><form name = "form-vente-générale" action="" method="POST">'; 
  $contenu .= '<label for="conditionVente"><span id = "condition-vente">J\'accepte les <a href = "" id = "lien-conditionVente"><span id = "mot-conditionGenerale">Conditions générales de vente</span></a></span></label>'; 
  $contenu .= '<input type="checkbox" name="option1" id = "conditionVente" value="conditionVente" /> <span></span></td></tr>'; 
  $contenu .= '<tr><td class = "colonne-paypal-pdf"><img id = "img-paypal" src = "http:images/paypal.png">'; 
                $contenu .= '<img id = "img-pdf" src = "http:images/pdf.png"></td>';


Merci pour votre aide

11 réponses

  1. Ok super!!! Tu sais peut être mais je dois détruire la session dès que l'internaute aura télécharger le pdf. Comment puis-je faire??

    Merci de ton aide, très sympa.
    0
    1. corrige la function alors :

      remplace
      if(tag.checked)
              {
                  //proceder a l'envoie de la requette
                 var tagForm = document.forms['form-vente-générale'];
                 tagForm.action = lien;
                 tagForm.submit();
              }
      

      par
      if(tag.checked)
       {
                
           window.open(lien);
       }
      
      0
      1. Merci beaucoup. Tu sais comment je peux faire un target=_blank en javascript. Concrètement, je voudrais afficher mon lien dans un autre onglet de mon navigateur.

        Merci
        0
        1. si c bon alors marque ton probleme comme résolu.
          0
          1. voici un example :

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
            <html>
              <head>
              <script type="text/javascript">
                function verifieCheckbox(idCheckbox , lien)
                 {
                    var tag = document.getElementById(idCheckbox);
                    if(tag.checked)
                    {
                        //proceder a l'envoie de la requette
                       var tagForm = document.forms['form-vente-générale'];
                       tagForm.action = lien;
                       tagForm.submit();
                    }
                    else
                    {
                        // alerter l'utilisateur
                        alert('please accept the condition');
                    }
                 }
            
            </script>
              </head>
              <body>
                  <?php
                     $contenu = '<form name = "form-vente-générale" action="" method="POST">
              					<label for="conditionVente">
              					<span id = "condition-vente">J\'accepte les <a href = "" id = "lien-conditionVente"><span id = "mot-conditionGenerale">Conditions générales de vente</span></a></span>
              					</label>
              					<input type="checkbox" name = "option1" id = "conditionVente" value="conditionVente" />
              					<img src="https://www.paypalobjects.com/fr_FR/FR/i/logo/paypal_logo.gif" onclick="verifieCheckbox(\'conditionVente\', \'http://www.paypal.fr/fr\');"/>
              				</form>';
              				
              				echo $contenu;
                  ?>
              </body>
            </html>
            
            
            0
            1. Oui mais mes deux "a href" je les insère où? dans le formulaire?? après le formulaire??
              0
              1. modifie la function

                function verifieCheckbox(idCheckbox , lien)
                     {
                        var tag = document.getElementById(idCheckbox);
                        if(tag.checked)
                        {
                            //proceder a l'envoie de la requette
                           var tagForm = document.forms['form-vente-générale'];
                           tagForm.action = lien;
                           tagForm.submit();
                        }
                        else
                        {
                            // alerter l'utilisateur
                            alert('please accept the condition');
                        }
                     }
                
                
                0
                1. Effectivement ça marche. Maintenant, j'aimerai remplacer le bouton simple par deux lien "a href" pour faire deux chose différente. Un lien servira de rediriger l'internaute vers paypal et l'autre lien servirai à télécharger un pdf. Cependant dans les deux cas, le checkbox doit être coché.

                  Merci de ton aide.
                  0
                  1. c#est une petite erreur de ma part: le b -> B

                    var tag = document.getElementById(idCheckbox);

                    voici le code complet:

                    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                    <html>
                      <head>
                      <script type="text/javascript">
                        function verifieCheckbox(idCheckbox)
                         {
                            var tag = document.getElementById(idCheckbox);
                            if(tag.checked)
                            {
                                //proceder a l'envoie de la requette
                                document.forms['form-vente-générale'].submit();
                            }
                            else
                            {
                                // alerter l'utilisateur
                                alert('please accept the condition');
                            }
                         }
                    </script>
                      </head>
                      <body>
                          <?php
                             $contenu = '<form name = "form-vente-générale" action="" method="POST">
                      					<label for="conditionVente">
                      					<span id = "condition-vente">J\'accepte les <a href = "" id = "lien-conditionVente"><span id = "mot-conditionGenerale">Conditions générales de vente</span></a></span>
                      					</label>
                      					<input type="checkbox" name = "option1" id = "conditionVente" value="conditionVente" />
                      					<input type="button" id="monButonEnvoyeur" value = "entrer" onclick="verifieCheckbox(\'conditionVente\');"/>
                      				</form>';
                      				
                      				echo $contenu;
                          ?>
                      </body>
                    </html>
                    
                    
                    0
                    1. Le programme ne veut pas aller dans le javascript.

                      Voici mon code php:


                      		$contenu .= '		<form name = "form-vente-générale" action="" method="POST">';
                      		$contenu .= '			<label for="conditionVente">';
                      		$contenu .= '				<span id = "condition-vente">J\'accepte les <a href = "" id = "lien-conditionVente"><span id = "mot-conditionGenerale">Conditions générales de vente</span></a></span>';
                      		$contenu .= '			</label>';
                      		$contenu .= '			<input type="checkbox" name = "option1" id = "conditionVente" value="conditionVente" />';
                      		$contenu .= '			<input type="button" id="monButonEnvoyeur" value = "entrer" onclick="verifieCheckbox(\'conditionVente\');"/>';
                      		$contenu .= '		</form>';



                      Voici mon code javascript:

                      <script type="text/javascript">
                      function verifieCheckbox(idCheckbox)
                               {
                                  var tag = document.getElementbyId(idCheckbox);
                                  if(tag.checked)
                                  {
                                      //proceder a l'envoie de la requette
                                      document.forms['form-vente-générale'].submit();
                                  }
                                  else
                                  {
                                      // alerter l'utilisateur
                                      alert('please accept the condition');
                                  }
                               }
                      </script>


                      Merci de votre aide
                      0
                      1. <tr>
                          <td class = "colonne-paypal-pdf">
                            <form name = "form-vente-générale" action="" method="POST">
                              <label for="conditionVente">
                                <span id = "condition-vente">J\'accepte les 
                                  <a href = "" id = "lien-conditionVente">
                                    <span id = "mot-conditionGenerale">Conditions générales de vente
                                    </span></a>
                                </span>
                              </label>
                              <input type="checkbox" name="option1" id = "conditionVente" value="conditionVente" /> 
                              <span>
                              </span></td>
                        </tr>  
                        <tr>
                          <td class = "colonne-paypal-pdf">
                            <img id = "img-paypal" src = "http:images/paypal.png">
                            <img id = "img-pdf" src = "http:images/pdf.png"></td>
                          


                        1) tout d'abord j'espere que tu as omis intentionellement de ne pas fermer le "</form>"
                        2) Je procederais de deux manières:
                        a) ne pas directement creer un bouton submit, mais plutôt un button simple:

                                <input type="button" id="monButonEnvoyeur" onclick="verifieCheckbox('conditionVente');"/>
                              


                        b) La fonction

                              <script type="javascript/text">
                                 function verifieCheckbox(idCheckbox)
                                 {
                                    var tag = document.getElementbyId(idCheckbox);
                                    if(tag.checked)
                                    {
                                        //proceder a l'envoie de la requette
                                        document.forms['form-vente-générale'].submit();
                                    }
                                    else
                                    {
                                        // alerter l'utilisateur
                                        alert('please accept the condition');
                                    }
                                 }
                              </script>
                              
                        0