Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit script

    9 janvier 2011 à 14:10:53

    Bonjour à tous !

    J'aurais besoin d'un petit script pour un site, et je pense trouver mon bonheur dans le javascript.
    Voila, je vous explique le principe:

    Il y a une liste déroulante avec des nombres (mettons 10-20-30-40 pour l'exemple.), puis trois champs de texte dans lesquels l'utilisateur entre un nombre de chaque. Je voudrais pouvoir mettre un petit bouton a droite de chaque champs de texte, qui complémenterais les nombres pour atteindre celui choisis dans la liste déroulante.

    Un petit exemple:

    - L'utilisateur choisit dans la liste déroulante le nombre "20".
    - Il rentre le chiffre "4" dans le premier champs de texte,
    - Il rentre le chiffre "6" dans le second champs de texte,
    - Il clic sur le bouton à droite du troisième champs de texte,
    - Le troisième champs de texte se remplis par le nombre "10", donc (20-4-6=10)


    Voila, j'espère que vous pourrais m'aider,

    Merci d'avance,


    Cordialement,

    Tonio.
    • Partager sur Facebook
    • Partager sur Twitter
    Regarde à gauche =>
      9 janvier 2011 à 16:24:06

      Bonjour =)

      Mettons que le html soit le suivant :
      <form action="#" method="get" onsubmit="return complete(this)">
      <select id="nb_choisi">
             <option value="10">10</option>
             <option value="20" selected="selected">20</option>
             <option value="30">30</option>
             <option value="40">40</option>
      </select>
      <input type="text" id="pre_nb" value="4" />
      <input type="text" id="sec_nb" value="6" />
      <input type="submit" />
      </form>
      <input type="text" id="complement" disabled="disabled" />
      

      Lors du clic sur le submit, la fonction complete qui suit est appelée.
      function complete(form) {
       document.getElementById('complement').value = parseInt(form.elements["nb_choisi"].value) - (parseInt(form.elements["pre_nb"].value) + parseInt(form.elements["sec_nb"].value));
       return false;
      }
      


      Ce n'est qu'un exemple, à toi d'adapter
      • Partager sur Facebook
      • Partager sur Twitter
        9 janvier 2011 à 17:14:18

        J'ai un gros doute quant au fait que form.elements['nb_choisi'] te renvoi l'élément. Amha, il récupère l'élement par son name, et non son id.

        Dans tous les cas le mieux reste de faire document.getElementById('nb_choisi').value
        • Partager sur Facebook
        • Partager sur Twitter
          9 janvier 2011 à 17:22:34

          C'est exact, je n'y pensais plus. On peut du coup utiliser les index 0 1 et 2 qui renvoie eux en fonction de l'ordre dans le formulaire =)
          • Partager sur Facebook
          • Partager sur Twitter
            9 janvier 2011 à 21:18:31

            C'est parfait, le script fonctionne nickel. Merci beaucoup =)

            Bonne soirée à tous ! :)
            • Partager sur Facebook
            • Partager sur Twitter
            Regarde à gauche =>

            Petit script

            × 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