Facil forms : un champ qui apparait en fonction de la liste ?

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

  • Facil forms : un champ qui apparait en fonction de la liste ?

    Bonjour à tous.

    Je suis en train de faire un formulaire avec facile forms. J'en ai déjà fait quelques uns, mais pour celui ci j'ai un cas particulier.

    J'ai une liste déroulante avec des produits a choisir, et j'aimerai que lorsque l'utilisateur selectionne "autre" un nouveau champ apparaisse ou se dégrise pour qu'il précise lui même son produit.

    Je pense que c'est possible, mais je ne voi pas comment... Quelqu'un aurait-il une solution ? Est ce que ce n'est pas réalisable avec ce composant ?

    Merci de votre aide

  • #2
    Ca m'interesse aussi !
    PacaConseil.com - WebConsulting

    Commentaire


    • #3
      salut .
      si tu suis un peu l'exemple du facileforms (celui appelé Country selection SampleCountrySelect)
      tu as dans la liste region , un action script en exemple.

      sinon toi tu voudrait un script du genre:
      dans ta selectlist,onglet script, partie action script:

      function ff_nom_de_la_selectlist_action(element, action){
      if (element.value=='autre'){
      //pour ne pas affiché
      ff_getElementByName('nom_du_text').style.display=" none";
      //ou pour grisé
      // ff_getElementByName('nom_du_text').disabled="true" ;//je suppose que c'est true , à vrai dire je ne l'ai pas encore essayer celui là (il existe).
      }
      }

      voila, normalement ca marche.
      a plus

      Commentaire


      • #4
        Arf !j'arrive pas a le faire marcher !

        j'ouvre bien ma liste de choix. Ensuite j'entre ton code dans action script, dans la colonne de droite du menu personnalisé.

        je remplace nom_de_la_selectlist par le nom de ma select list (activity_contain) et nom_du_text, la je planche ! Que faut-il mettre ?

        J'ai essayé de mettre le nom du champ texte "precisez" ou un autre nom au hasard, rien ny fait! quand je selelctionne autre, il ne ce passe absolument rien !
        PacaConseil.com - WebConsulting

        Commentaire


        • #5
          Salut Olganix,

          Merci pour ton aide !

          M'ais j'ai quand même besoin de quelques truc en plus...

          En fait ce que tu donne là marche pour moi, mais à l'inverse de ce que je veux
          Avec cette fonction, le champ est masqué quand on selectionne "autre" et reste visible pour le reste de la liste. Autre problème : une fois masqué, le champ refuse de réaparaitre.

          Pour inverser la fonction, j'ai juste eu à remplacer le == par != ce qui me donne donc ceci à présent :
          Code PHP:
          function ff_consolelist_action(elementaction){
          if (
          element.value!='autre'){
          //pour ne pas afficher
          ff_getElementByName('other').style.display="none";
          ff_getElementByName('otherconsole').style.display="none";
          }

          Mais le problème de "non apparition une fois masqué" devient vraiment génant : en fait au final rien ne se passe quand on selectionne "autre". Aussi lorsqu'on arrive sur la page, le champ est apparant et ne disparait qu'une fois que l'on ouvre la liste.

          Dernier détail (je n'avai pas précisé ça dans mon premier post) j'ai un champ text à masquer, mais aussi un élément static text/html ('otherconsole'), et là il n'en prend absolument pas compte avec ce que j'ai ajouté.

          Encore merci
          Dernière édition par speedkills à 24/07/2006, 10h50

          Commentaire


          • #6
            oupssss! dsl. c'est vrai cétait !=, mais bon je ne travaille plus dessus ( ce matin je n'avait pas le temps de faire un test) si tu veux le faire réapparaitre, il faut mettre :
            function ff_consolelist_action(element, action){
            if (element.value!='autre'){
            //pour ne pas afficher
            ff_getElementByName('other').style.display="none";
            ff_getElementByName('otherconsole').style.display= "none";
            }else{
            ff_getElementByName('other').style.display="";
            ff_getElementByName('otherconsole').style.display= ""; //ca ca était testé
            }
            }

            (rem: si tu as un display en block... ba il faut mettre block )
            je vais voir pour le static text, ca pas l'air d'etre display ni value.......

            pour Furious: as tu cochez un truc comme change,select ou click?
            Dernière édition par olganix à 24/07/2006, 13h25

            Commentaire


            • #7
              Ok merci !
              j'avai tenté le else, mais j'avai mi true au lieu de laisser les guillemets vides...

              Commentaire


              • #8
                dsl j'ai pas (encore) trouvé.
                en fait tout est normalement dans la variable globale $GLOBALS['ff_processor']->rows

                (en l'utilisant en php donc dans before form ou les pieces, pas les scripts)

                j'ai des indices qui montre que ca devrait marcher avec value....mais ca marche pas. voir piece jointes

                je vais voir pourquoi..
                a plus
                Fichiers joints

                Commentaire


                • #9
                  bon ba j'ai pas trouvé, normalement c'est value... mais là....
                  j'ai comme même une solution de rechange ( I'm a big bricoleur) :
                  il s'agirait d'utiliser la fonction document.write('ton code html') et
                  mettre dans celui ci un <div > ton text ou rien quand il ne doit pas etre affiché </div>.
                  avec un style position:absolute ( en espérant que tout le reste le soit, ce qui généralement le cas des facileforms ) et left: 100px; top: 100px;
                  désolé j'ai pas le temps de le tester... peut être ce soir....
                  Si quelqu'un trouve une meilleur méthode ( parce qu'une pire je peus faire aussi ) ba n'hésitez pas.
                  a plus
                  Dernière édition par olganix à 26/07/2006, 14h18

                  Commentaire


                  • #10
                    Re,

                    merci beaucoup d'avoir pri la peine de chercher en tout cas !

                    Tu peux peut être faire pire, et moi je l'ai fait

                    J'ai tout simplement viré le texte statique et inscrit dans le champ texte "autre" ce qui était affiché dans le static ("autre" quoi... ).

                    Bref, c'est pas très démonstratif en matière de programation, c'est une méthode que l'on peut qualifier de bucheron (je n'ai rien contre les bucherons hein. J'en ai même très bien connu un... hum... je m'égare).

                    fatigué moi... ça va qu'on est vendredi ! hein ? mercredi ? ha !

                    Commentaire


                    • #11
                      lol encore deux jour à tenir

                      Commentaire

                      Annonce

                      Réduire
                      1 sur 2 < >

                      C'est [Réglé] et on n'en parle plus ?

                      A quoi ça sert ?
                      La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                      Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                      Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                      Comment ajouter la mention [Réglé] à votre discussion ?
                      1 - Aller sur votre discussion et éditer votre premier message :


                      2 - Cliquer sur la liste déroulante Préfixe.

                      3 - Choisir le préfixe [Réglé].


                      4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                      2 sur 2 < >

                      Assistance au forum - Outil de publication d'infos de votre site

                      Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                      Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                      Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                      UTILISER À VOS PROPRES RISQUES :
                      L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                      Problèmes connus :
                      FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                      Installation :

                      1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                      Archive zip : https://github.com/AFUJ/FPA/zipball/master

                      2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                      3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                      4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                      5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                      6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                      et remplacer www. votresite .com par votre nom de domaine


                      Exemples:
                      Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                      Télécharger le script fpa-fr.php dans: /public_html/
                      Pour executer le script: http://www..com/fpa-fr.php

                      Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                      Télécharger le script fpa-fr.php dans: /public_html/cms/
                      Pour executer le script: http://www..com/cms/fpa-fr.php

                      En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                      Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                      Voir plus
                      Voir moins
                      Travaille ...
                      X