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. <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
    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. 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. 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. 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. Oui mais mes deux "a href" je les insère où? dans le formulaire?? après le formulaire??
              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. si c bon alors marque ton probleme comme résolu.
                  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. 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. 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