Chronoforms : charger plusieurs formulaires

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

  • [RÉGLÉ] Chronoforms : charger plusieurs formulaires

    Bonjour,

    Je suis en train de tourner en rond sur chronoforms et je viens chercher un peu d'aide si quelqu'un à une idée de comment procéder.

    Voila ce que j'aimerai faire : Je créé un formulaire composé d'un groupe de checkbox.
    Chaque checkbox correspond à un autre formulaire.
    Exemple : frm_compte, frm_mail, frm_logiciel et frm_intranet.
    L'utilisateur coche frm_compte et frm_intranet.
    Il clique sur envoyer et là une page s'ouvre avec les deux formulaires (frm_compte et frm_intranet).

    J'ai vu qu'il existait l'évènement "show form", je pensai passé par un évènement personnalisé (custom event) lors de l'envoi de mon formulaire aux checkbox dans lequel je déclencherai les différents évènements "show form" par formulaire coché.

    Il y a t'il une façon plus simple de procéder ?
    Sinon comment appelé en évènement "show form" via l'évènement "custom event" ?

    Cordialement,
    jo

  • #2
    Re : Chronoforms : charger plusieurs formulaires

    Solution trouvée :
    Créer deux formulaires, l'un avec un groupe de checkboxes, un second avec le traitement souhaité (exemple : envoi d'email)
    Le 1er formulaire peut être créé en "wizard" (avec l'assistant). Faite votre groupe de checkboxes, afficher le.
    Attention : l'id de vos option (id=option) doit être identique à celui du formulaire à charger !
    Dans l'évènement "submit" (envoyer) : utilisé le "custom code" (code personnalisé) et enregistré les checkboxes coché dans un tableau puis le tableau dans une Session.

    Exemple :
    <?php
    session_start();

    if (isset($_POST['nom de votre champs groupe de checkboxes'])) {

    for ($i = 0, $c = count($_POST['nom de votre champs groupe de checkboxes']); $i < $c; $i++) {
    $tab[$i] = $_POST['nom de votre champs groupe de checkboxes'][$i];
    }
    }
    $_SESSION['nom_des_données (au choix)'] = $tab;
    ?>
    Seconde action dans l'évènement "submit" -> "Show form" et rediriger l'utilisateur vers votre second formulaire.

    Le second formulaire doit être édité en mode "custom" (personnalisé).
    Action au chargement : Show HTML
    Action a l'envoi (submit) : Par exemple email

    Dans un 1er temps en mode "wizard" vous pouvez placé votre bouton submit.
    Puis en mode custom ajouter ce code (celui-ci charge les formulaires cochés) :
    //Au tout début de la zone de code
    <?php
    session_start();

    require_once (JPATH_SITE.DS.'components\com_chronoforms\chronof orms.php');
    ?>
    //Puis là où vous voulez chargé vos formulaires :
    <?php

    for ($i=0; $i<count($_SESSION['nom_des_données (au choix)']);$i++){
    $MyForm = CFChronoForm::getInstance($_SESSION['nom_des_données (au choix)'][$i]);
    process($MyForm, 'load');
    }
    ?>
    Important : pensez à désactiver les balises "<form></form>" de tout les formulaires qui s'incorporent !
    Option "Add form tags".
    Sinon l'action "envoyer" ne fonctionnera pas sous IE, puis vous aurez un code bien plus propre
    Dernière édition par jojo7466 à 28/07/2011, 11h22

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X