Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS?] Formulaire : Rapport de champs

Si l'on modifie un champs, l'autre l'est aussi...

    12 juillet 2006 à 10:29:57

    Salut à tous.
    Je voulais savoir si quelqu'un pouvait m'expliquer comment faire pour lorsqu'on remplit un formulaire, un champs soit dependant d'un autre. (ou d'une valeur)

    Ex : J'ai 100 Points a distribuer entre 3 champs.
    Je veux que a chaque fois que j'appuis sur un boutton a coté du champs, il augmente de 1 et que le total de point restant baisse d'autant.
    Mais aussi que je puisse modifier manuellement la valeur du champs.

    Vous me comprenez? Si vous avez un script meri de m'aider...

    ComG

    PS : et pour afficher une valeur en temps reel c'est quoi le plus simple? Rafraichir sans cesse la page ou y a t'il un autre moyen?
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      12 juillet 2006 à 14:07:39

      SAlut!

      je vais te montrer un exemple pour qu'un champ influence un autre :

      function fichier() {
      if (document.forms.fichierjoint.typepiece.selectedIndex==3)
      {
      document.getElementById("fichier").style.display="block";
      }
      else
      {
      document.getElementById("fichier").style.display="none";
      }
      }

      là le principe : j'affiche une partie du formulaire si l'utilisateur choisi la 4ème option d'un select.
      sinon, il est caché.
      donc tu crées une fonction qui peut ainsi intéragir avec un autre élément de ton formulaire, et puis, au niveau du champs qui déclenche la fonction tu mets un onclick (ou onchange ou onblur etc...)="javascript: fichier();" (à la place de fichier() : tafonction() )

      et voilou!!

      tiens un lien pratique pour toutes les commandes javascript et formulaires : ici
      • Partager sur Facebook
      • Partager sur Twitter
        12 juillet 2006 à 22:54:24

        Didjou... Merci bien mais j'ai rien compris a ton exemple... Lol...

        Limitons le probleme, disons que je veux juste que la somme des champs soit toujours egal a 100 (par exemple).

        J'ai 2 champs libres :

        "a" et "b"
        a=100 et b=0 (valeurs preremplies)
        si je met b=50, je voudrais qu'automatiquement a=50.
        Si je met a=20, alors b=80.

        De tel sorte que soit toujours afficher 100 points et que lorsque je vais transmettre les infos ça soit bon.

        Merci en tout cas de ton aide !
        • Partager sur Facebook
        • Partager sur Twitter
          12 juillet 2006 à 23:07:34

          tu devrais pouvoir y arriver avec le php, je m'y connais pas trop, mais avec des conditions du genre .. bah ce que tu nous as dit, sa devrais le faire, tu peut voir le tuto de mateao sur le site, concernant les condition "if-else".
          • Partager sur Facebook
          • Partager sur Twitter
            12 juillet 2006 à 23:17:16

            C'est du DOM, tu récupère les valeurs des formulaire avec le DOM et puis le reste c'est des maths niveau 6eme ^^

            pas besoin de php
            • Partager sur Facebook
            • Partager sur Twitter
              12 juillet 2006 à 23:58:00

              ComG, tu dois utiliser l'évenement Javascript onchange : celui ci appelle la fonction javascript de ton choix lorsque la valeur d'un champ est modifiée. Ainsi :
              <form><label>A = <input name="a" id="a" onchange="verif100(a)" value="100"/></label><br/>
              <form><label>B = <input name="b" id="b" onchange="verif100(b)" value="0"/></label>

              Maintenant il faut écrire une fonction Javascript qui vérifie que le total des deux champs est toujours égal à 100. L'algorithme pourrait être :
              • Récupération du paramètre indiquant quel champ est modifié.
              • Vérification que le contenu est bien un chiffre compris entre 0 et 100. Sinon -> alert()
              • Calculer la nouvelle valeur du champs B. L'attribuer.
              Tu auras besoin d'accèder au contenu des champs textes, utilises par exemple document.getElementById('a').value ...

              Voilà, avec ces indications et quelques recherches, tu devrais pouvoir obtenir ce que tu souhaites.
              • Partager sur Facebook
              • Partager sur Twitter
                14 juillet 2006 à 14:33:08

                Merci bien, je vais fouiller dans cette voie !
                Merci bien !

                ComG
                • Partager sur Facebook
                • Partager sur Twitter

                [JS?] Formulaire : Rapport de champs

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown