BrezingForms - test valeurs checkbox Group et routage vers liens de menus interne

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] BrezingForms - test valeurs checkbox Group et routage vers liens de menus interne

    Bonjour

    J'ai crée un formulaire contenant un champ de type 'checkbox Group' et je voudrais router l'internaute vers un lien de menu interne, en fonction de son choix.
    J'ai cherché dans les tuto (j'ai dû mal cherché), mais je n'ai pas trouvé la solution.
    Existe t-il un script ou doit-on le concevoir ?
    Dans le dernier cas, je vais avoir un problème de savoir-faire....
    Merci de votre aide
    Merci

    Cordialement

  • #2
    Bonjour.

    Il faut écrire un script qui redirigera vers le lien de menu souhaité selon la coche.
    Il existe des solutions préfaites pour les deux actions mais il faudra les mixer.
    Je reviens plus tard t'orienter, suis en route actuellement...
    Dernière édition par Eddy.vh à 01/08/2019, 11h17
    Cordialement.
    __
    Eddy !!!
    Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

    Commentaire


    • #3
      Re :

      Je me rattrape, ce n'est pas un javascript qu'il faut mais un script php à la fin de la soumission du formulaire.

      Alors j'imagine que la redirection se fait bien après l'envoi du formulaire…

      Pour commencer et pour éviter les effets secondaires indésirables, je te conseille d'oublier le groupe de case à cocher pour lequel plusieurs choix sont toujours possible (à moins de scripter d'avantage pour n'autoriser qu'une seule coche) mais d'opter pour un groupe de boutons radios. Un seul choix possible dans le groupe.

      Imaginons ce groupe de boutons radios nommé radioGroup avec les labels et valeurs suivants :
      • 0;Vers menu 1;menu1 (0;label;valeur)
      • 0;Vers menu 2;menu2
      • 0;Vers menu 3;menu3
      Ce groupe est prêt à recevoir une sélection.

      Dans les propriétés avancées du formulairePlus d'options → (onglet) Envoyer des piècesFin de soumission → cocher Personnalisé
      Entrer le script suivant dans la zone de texte et adapter à ton besoin :

      Code:
      $this->execPieceByName('ff_InitLib'); // initialisation de la librairie BreezingForms
      $valeur = ff_getSubmit('radioGroup'); // on stocke la valeur de la case cochée du checkBoxGroup
      
      switch( $valeur ) {
          case 'menu1' : header('Location: urlLDeMenu1.html'); exit; break;
          case 'menu2' : header('Location: urlLDeMenu2.html'); exit; break;
          case 'menu3' : header('Location: urlLDeMenu3.html'); exit; break;
          // etc.
      }
      $valeur est la variable dans laquelle on réceptionne la valeur de la coche du groupe de bouton radio nommé radioGroup
      case 'menu1' = si la valeur du groupe est menu1 on envoie vers urlDeMenu1.html
      etc.

      Dans ce script, il faut adapter le nom du groupe de boutons radios (radioGroup) à ta situation,
      remplacer les valeurs du groupe de boutons radios par les tiennes
      remplacer urlLDeMenuN.html par tes liens de menu (ces liens étant internes, il peuvent être relatifs).

      Voilà, ça devrait faire le job…



      Dernière édition par Eddy.vh à 01/08/2019, 12h12
      Cordialement.
      __
      Eddy !!!
      Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

      Commentaire


      • #4
        Merci pour ce retour détaillé.
        Je vais tester et je reviens vers toi

        Merci

        Cordialement

        Commentaire


        • #5
          ../..
          Je viens de tester

          J'ai créé un radioGroup avec les labels et valeurs suivants :
          0;Catégorie U6;menu1
          0;Catégorie U10;menu2
          0;Catégorie U12;menu3

          Dans les propriétés avancées du formulairePlus d'options → (onglet) Envoyer des piècesFin de soumission → cocher Personnalisé
          j'ai entré le script suivant dans la zone de texte :

          $this->execPieceByName('ff_InitLib'); // initialisation de la librairie BreezingForms
          $valeur = ff_getSubmit('radioGroup'); // on stocke la valeur de la case cochée du checkBoxGroup

          switch( $valeur ) {
          case 'menu1' : header('Location: equipes/u14-u15.html'); exit; break;
          case 'menu2' : header('Location: equipes/u16-u17.html'); exit; break;
          case 'menu3' : header('Location: equipes/u18-u19.html'); exit; break;
          // etc.
          }

          Résultat :
          Quand je coche un des boutons radio, je reviens sur le formulaire, mais je n'affiche pas la page associée au bouton....

          Ai je loupé une marche ?

          merci de ton regard avisé...
          Merci

          Cordialement

          Commentaire


          • #6
            Oui, tu as loupé une marche…
            Code:
            $valeur = ff_getSubmit('radioGroup');
            Remplacer radioGroup par le nom de ton groupe de boutons radios comme je le décrivais plus avant :

            Envoyé par Eddy
            Dans ce script, il faut adapter le nom du groupe de boutons radios (radioGroup) à ta situation,
            Dernière édition par Eddy.vh à 01/08/2019, 14h21
            jps0302 aime ceci.
            Cordialement.
            __
            Eddy !!!
            Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

            Commentaire


            • #7
              C'est ok.
              Merci infiniment pour cette aide précieuse
              Merci

              Cordialement

              Commentaire


              • #8
                C'est toujours un plaisir de pouvoir filer un coup de pouce !
                Cordialement.
                __
                Eddy !!!
                Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

                Commentaire

                Annonce

                Réduire
                Aucune annonce pour le moment.

                Partenaire de l'association

                Réduire

                Hébergeur Web PlanetHoster
                Travaille ...
                X