breezingforms et simple calcul en javascript

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] breezingforms et simple calcul en javascript

    Bonjour

    Je cherche à calculer le prix des repas réservé
    dans ma BDD il y a
    vendre (nombre de repas réservé pour le vendredi au prix de xv)
    samedi (nombre de repas réservé pour le samedi au prix de xs)

    Si j'ai bien suivi les conseil de rbyl

    Par défaut Re : Calculer une date avec BreezingForms

    Bon, après avoir bien galéré. J'y suis arrivé.
    Il convient d'entrer le code dans Form --> Properties --> Advanced --> more options --> Script Init
    Le code ne doit pas être inséré au niveau de l'élément dans lequel le résultat doit apparaître. Il doit être inséré au niveau du formulaire lors de son initialisation.

    j'ai mis
    Code:
    function ff_SommPrix_init(){
    function somm(){
    	pxve=Number(vendre)*14;
    	pxsa=Number(samedi)*18;
    	return pxve+pxsa;
    }
    }
    Forcément cela ne fonctionne pas
    Pouvez vous m'aider?

    Merci d'avance
    Dernière édition par toffffe à 07/02/2015, 15h30

  • #2
    Re : breezingforms et simple calcul en javascript

    Bonjour,

    Sans informations précises sur ce qui est vraiment recherché, il est difficile de savoir ce qui doit être fait.

    Mais une fonction init est exécutée à l'initialisation du formulaire, et donc il faudrait que les valeurs des champs soient déjà renseignées.
    S'il doit s'agir d'un traitement dynamique, il faut créer un champ somme et utiliser des clauses de validation dynamiques sur les champs vendrezdi et samedi, pour mettre à jour dynamiquement le total.
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : breezingforms et simple calcul en javascript

      bonjour,
      Merci pour votre réponse
      Cela fait plusieurs jours que je suis dessus et je suis tellement à chercher la solution que je n'explique pas assez.

      En faite j'ai réalisé un formulaire ou en 1er page nous avons les demandes d'infos comme repas du vendredi et repas du samedi, sur une 2ème page les résultats pour que la personne qui s'inscrit vérifie les infos et je souhaiterais indiquer le total du coût de cette réservation et c'est là ou je bloque. Je trouve beaucoup plus simple de comprendre le langage php mais là j’avoue, je suis totalement pommé.
      en explication de breezing forms il y a un moment un exemple de calcul value=Number(value)+Number(bfField('FIELDNAME')); je ne trouve pas d'information qui m'explique cette formule.

      c'est pourtant un calcul simple que j'essaye d’appliquer mais j'ai besoin d'un éclaircissement.

      Merci d'avance

      Commentaire


      • #4
        Re : breezingforms et simple calcul en javascript

        Bon, on va supposer que vendredi et samedi sont des noms de champs à remplir, et que somme est le champ totalisateur.

        Pour chacun des champs vendredi et samedi, onglet avancé, et crées un événement Action Script de type personnalisé qui contiendra un code du genre (attention, dépend du nom du champ, utilises le bouton générer le framework de code pour avoir le bon nom
        Code:
        function ff_vendredi_action(element,action)
        {
             ff_somme_action(element,action);
        }
        Ces actions se contentent d'appeler le totalisateur.
        Dans le champ totalisateur (somme dans l'exemple), en onglet avancé, actives le mode lecture seule (champ non modifiable par l'utilisateur ), puis crées un Action Script
        Code:
        function ff_somme_action(element,action)
        {
             ff_getElementByName('somme').value = 0;
              
             ff_getElementByName('somme').value = 
                  Number(ff_getElementByName('somme').value) + (Number(ff_getElementByName('vendredi').value) +
                  Number(ff_getElementByName('samedi').value) );
         }
        devrait fonctionner.

        En JavaScript, chaque élément d'un formulaire est vu comme un objet. getElementByName retourne l'élément portant le nom désiré. L'accès aux attributs est en notation pointée et non avec -> comme en PHP.
        Donc ff_getElementByName('somme').value = 0 veut dire qu'on assigne la valeur 0 à l'élément somme.
        Number( 'nom_d_element'.value ) force le conversion numérique, le stockage interne des champs étant de type string.

        Avec ces explications, ça te semble plus clair ?
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : breezingforms et simple calcul en javascript

          c'est beaucoup plus claire mais relativement plus complexe que du php
          en faite il faut mettre un code JS dans la fabrication du formulaire dans les champ (vendredi et samedi) pour dire que c'est valeur vont être appeler plus loin dans le formulaire (somme)
          si je complique la chose

          si je souhaite multiplier le nombre de repas de vendredi par 14 et samedi par 18
          je fais dans le champ somme
          Code:
           
          function ff_somme_action(element,action)
          {
               ff_getElementByName('somme').value = 0;
                
               ff_getElementByName('somme').value = 
                    Number(ff_getElementByName('somme').value) + [COLOR="#FF0000"]([/COLOR](Number(ff_getElementByName('vendredi').value)[COLOR="#FF0000"]*14)[/COLOR] +[COLOR="#FF0000"]([/COLOR]Number(ff_getElementByName('samedi').value)[COLOR="#FF0000"]*18)[/COLOR] );
           }
          Merci bien pour ces explications

          Commentaire


          • #6
            Re : breezingforms et simple calcul en javascript

            Envoyé par noz.caline Voir le message
            en faite il faut mettre un code JS dans la fabrication du formulaire dans les champ (vendredi et samedi) pour dire que c'est valeur vont être appeler plus loin dans le formulaire (somme)
            Le script Action sur vendredi et samedi est le déclencheur de l'action d'appel de l'action sur la somme.
            A chaque modification d'une valeur, la somme est appelée et mise à jour.

            Oui, ensuite, pour les calculs, rien n'interdit de le faire dans cette fonction somme.
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : breezingforms et simple calcul en javascript

              bon j'ai pas du faire bien pour que cela fonctionne

              Pour chacun des champs vendredi et samedi, onglet avancé, et crées un événement Action Script de type personnalisé qui contiendra un code du genre (attention, dépend du nom du champ, utilises le bouton générer le framework de code pour avoir le bon nom
              Code:

              function ff_vendredi_action(element,action)
              {
              ff_somme_action(element,action);
              }
              j'ai rajouter cela dans les champs de chaque élément (vendredi et samedi)

              dans cette même page j'ai rajouté dans le champ(text) somme les instructions que vous m'avez transcrit.

              J'essaye le formulaire et pour passer à la page résultat le bouton page suivante ne fonctionne pas, il ne réagit pas.

              du coup j'ai supprimer le champ somme pour voir et là même résultat

              je pense qu'il y a un souci du coté des champs vendredi et samedi,
              faut t'il cocher une case au dessus du script action personnaliser
              Actions: Sur clic, Estomper, Change, Focus, Sélection
              Il n'y a aucune réaction automatique sur le champ somme quand je rempli les champs samedi et vendredi

              Y a t'il des choses que j'ai pas fait?
              Dernière édition par noz.caline à 07/02/2015, 11h39

              Commentaire


              • #8
                Re : breezingforms et simple calcul en javascript

                Pour vendredi et samedi, il faut utiliser l'action Change... puisqu'il s'agit de champs de type texte ou numérique, à valeur variable.
                Pas de demande de support par MP.
                S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                Commentaire


                • #9
                  Re : breezingforms et simple calcul en javascript

                  Effectivement il fallait que la case change soit cocher pour les 3 champs et non pour les champs vendredi et samedi.
                  C'est effectivement logique maintenant.

                  Merci BEAUCOUP

                  Commentaire


                  • #10
                    Re : breezingforms et simple calcul en javascript

                    Si c'est réglé, merci de l'indiquer :
                    Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
                    Confucius

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X