Partage
  • Partager sur Facebook
  • Partager sur Twitter

Agrandir la taille d'un formulaire

Recherche d'un script

Sujet résolu
    27 février 2009 à 21:21:21

    Bonsoir,

    Je recherche un script agrandissant la taille d'un formulaire lorsqu'on clique sur un bouton.
    (Comme sur le sdZ en fait :p )

    Est-ce que vous pouvez m'indiquer un tuto expliquant comment faire ou me donnez directement la script :p

    Merci ^^
    • Partager sur Facebook
    • Partager sur Twitter
      27 février 2009 à 23:34:28

      Alors je débute en js donc je vis te proposé un truc mais je sait pas si c'est bon

      function agrandir()
      {
      document.getElementByTagName('textarea')[0].style.height= 100px;
      }
      

      et apres tu fou un lien par exemple

      <input type="button" onclick="agrandir()" value="Agrandir" />
      


      et ton champ doit-être un textarea et le premier dans la page :)
      • Partager sur Facebook
      • Partager sur Twitter
        28 février 2009 à 7:42:17

        Merci bryou, je teste :)

        EDIT : non, le script ne marche pas :(
        • Partager sur Facebook
        • Partager sur Twitter
          28 février 2009 à 9:09:25

          déjà j'ai fait une erreur faut mettre px aprés 100.
          function agrandir()
          {
          document.getElementByTagName('textarea')[0].style.height= 100;
          }
          

          J'ai aussi test de mon coté j'ai l'impression que il veut pas l'agrandir je voit pas comment utiliser height dans une fonction :(

          Si un bon codeur js pourraît nous éclairer :)
          • Partager sur Facebook
          • Partager sur Twitter
            28 février 2009 à 9:20:00

            Ah ok ^^

            Merci pour ton aide ;)
            • Partager sur Facebook
            • Partager sur Twitter
              28 février 2009 à 11:37:17

              Hop hop, tadam me voilà :p

              Donc en faite, pour agrandir un textarea, il faut déjà savoir si tu utilises l'attribut cols ou bien le style height. Ton code ressemblera donc à ça :

              function agrandir(idElement, nbAgr)
              {
                  document.getElementById(idElement).cols += nbAgr; //On agrandit le textarea de nbAgr colonnes.
              }
              


              En html, tu as juste à faire <input type="button" value="-" onclick="agrandir('idDeTonTextarea', -5)" /> <input type="button" value="+" onclick="agrandir('idDeTonTextarea', 5)" />

              N'oublie pas cependant de donner une id à ton textarea !

              Si c'est le height que tu veux modifier, c'est tout de suite plus galère, en effet, en général on utilise des pixels, mais qu'est-ce qui nous prouve que l'on veut (au lieu de 10px) 10cm, 10 pouce, etc ? Donc si on veut agrandir qu'une seule fois le textarea (et ça marche pour n'importe quel élément) et d'une taille fixe (on veut pas 50pixel de plus, on veut qu'au total cela fasse 100px), ça va, il suffit de faire element.height = 100 + "px"; , mais si on veut agrandir l'élément de 50px, comment je fais pour savoir si le navigateur va me retourner la taille en pixel, en cm ou en kilos de patates ?

              Il a été décidé alors de faire l'attribut element.offsetHeight (Introduit par IE, pas valide W3C mais il n'y pas d'autre solution) qui permet de connaitre la hauteur en px de l'élément.

              Le code devient donc pour la hauteur (le height)
              function agrandir(idElement, nbAgr)
              {
                  var element = document.getElementById(idElement)
                  element.style.height = (element.offsetHeight + nbAgr) + "px"; //On agrandit le textarea de nbAgr px de height.
              }
              


              le code reste le même pour le html, mais pense à bien bidouiller les arguments pour qu'ils te conviennent mieux.

              J'espère avoir été clair.

              N'hésitez pas à lire et relire tous les tutos de JS du monde et surtout, lisez la bible du développeur javascript : https://developer.mozilla.org/
              • Partager sur Facebook
              • Partager sur Twitter
                28 février 2009 à 19:50:40

                ah beh merci c'était pas pour moi mais j'apprned en même temps :)
                Il devrait en parler d'en le tuto :)
                EDIT: j'ai reussi en rajoutant simplement + "px" a mon script test ce qui me donne:

                function agrandir()
                {
                var champ = document.getElementById('textarea');
                champ.style.backgroundColor= "green";
                champ.style.height= 100 + "px";
                }
                


                Et en html simplement:

                <textarea id="textarea"></textarea>
                


                Est ce que mon code pourrais être amélioré ?
                C'est simplement pour savoir si j'ai fait des erreurs :)
                • Partager sur Facebook
                • Partager sur Twitter
                  28 février 2009 à 20:11:31

                  La seule amélioration vraiment utile serait, comme l'a fait smilz, de passer deux variables à la fonction afin de pouvoir agrandir n'importe quel élément, et à n'importe quelle taille ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 février 2009 à 20:44:23

                    on pourrait meme ajouter une troisieme c'est si on ajoute ou on supprime le nombre de pixel non ?
                    Comme sa on aurais affaire à la même fonction pour agrandir ou devenir plus petit :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 février 2009 à 20:48:13

                      Bah à moins que tu fasses un agrandissement progressif, y'a pas besoin.

                      C'est une simple affectation, pas une opération :
                      champ.style.height= 100 + "px";
                      


                      Si tu veux repasser la taille à 10, tu as juste à remplacer 100 par 10. ^^
                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 février 2009 à 21:17:41

                        oui mais si on veut faire un bouton - et un bouton + ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 février 2009 à 21:35:50

                          hihi :) merci beaucoup Golmote
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Agrandir la taille d'un formulaire

                          × 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