Partage
  • Partager sur Facebook
  • Partager sur Twitter

Optimisation de Script

    26 novembre 2005 à 19:27:26

    Salut à tous,
    je débute en javascript (dans le reste aussi d'ailleurs) et j'aimerai vous soumettre un premier script relativement simple. Comme je vais être dans l'obligation de l'utiliser de très nombreuses fois et sous une quantité abominable de variantes, j'aimerai savoir s'il n'existe pas une solution plus simple ou plus élégante de réaliser ça :

    Citation : Mohawk

    <html>
    <head>
    <script langage=javascript>
    <!--
    function addvalue()
    {
    var a=new Number(document.charisme.charisme.value);
    var b= (a + 1);
    document.charisme.charisme.value = b;
    }

    function subvalue()
    {
    var a=new Number(document.charisme.charisme.value);
    var b= (a - 1);
    document.charisme.charisme.value = b;
    }
    -->
    </script>
    </head>

    <body>

    <form name=charisme>
    Charisme : <input type=Number name=charisme value=0 />
    <input type=button value="+1" onClick=addvalue(); />
    <input type=button value="- 1" onClick=subvalue(); />
    </form>

    </body>
    </html>



    Sa fonction est relativement simple, le bouton "+1" permet d'augmenter de 1 la valeur de la Variable, tandis que le bouton "-1" permet de la diminuer.

    Merci à tous
    • Partager sur Facebook
    • Partager sur Twitter
      26 novembre 2005 à 19:57:03

      Je pense que tu peux essayer ça :
      <html>
      <head>
      </head>

      <body>

      <form name="charisme">
      Charisme : <input type="number" name="charisme" value="0" />
      <input type="button" value="+" onClick="javascript:document.charisme.charisme.value++;" />
      <input type="button" value="-" onClick="javascript:document.charisme.charisme.value--;" />
      </form>

      </body>
      </html>


      Je n'ai pas testé mais ça devrait marcher.
      Au fait met toujours des guillements dans les valeurs, c'est plus sûr ;)
      • Partager sur Facebook
      • Partager sur Twitter
        26 novembre 2005 à 20:05:26

        Je te remercie, ça fonctionne super. Toutefois je t'avoue que je n'y comprend pas grand chose à ton script. Mais je vais poursuivre mon apprentissage ça viendra surement.

        Mercie en tout cas
        @+
        • Partager sur Facebook
        • Partager sur Twitter
          26 novembre 2005 à 22:07:40

          Salut, alors je t'explique :

          En javascript, les éléments et propriétés sont "atteintes" en partant du plus grand au plus petit objet. Ils sont séparés par des points.

          Ton input nommé charisme est dans un formulaire nommé charisme aussi.
          En partant du document (obligatoire), on accède à la valeur (propriété value) de ton input comme ceci :

          document.charisme.charisme.value


          Le ++ est une abréviation pour remplacer plus 1 (-- remplace -1).

          C'est à dire que :
          document.charisme.charisme.value++:
          Est la même chose que :
          document.charisme.charisme.value = document.charisme.charisme.value+1;


          Onclick est un évènement (le clic !). javascript: indique que le code entre "" est du javascript.

          Voila, je crois que tu peux comprendre maintenant !
          • Partager sur Facebook
          • Partager sur Twitter
            26 novembre 2005 à 22:43:29

            encore un truc, comment puis-je "récupérer" la valeur de l'input en php, sous la forme d'une variable ?
            • Partager sur Facebook
            • Partager sur Twitter
              26 novembre 2005 à 23:05:18

              Il faut que tu créé

              <input type="submit" value="Envoyer">


              Dans ton form, afin de poster la variable.

              Il faut d'ailleur que tu modifie ton form et que tu lui donne les propriétés suivantes, afin de pouvoir poster :

              <form name="charisme" method="post" action="ta_page.php">


              • Partager sur Facebook
              • Partager sur Twitter
                26 novembre 2005 à 23:19:07

                Je vais essayer ton script, mais je pense que dans ce cas je ne récupèrerai plus la valeur en javascript... mais je vais essayer.

                Jusque là j'en suis arrivé à ça :

                <form name="charisme" method="POST">
                Charisme : <input type="number" name="charisme" value="0" size="2" />
                <input type="button" value="+" onClick="javascript:document.charisme.charisme.value++;"/>
                <input type="button" value="-" onClick="javascript:document.charisme.charisme.value--;"/>
                <?
                $charisme = "<script>document.write(document.charisme.charisme.value);</script>";
                echo $charisme;
                ?>
                </form>


                Je récupère bien la valeur en javascript, mais uniquement la valeur initiale soit le "0" et non la valeur actualisée.

                merci, je vais essayer avec ton script .. après essai malheureusement ça ne fonctionne pas. J'ai peut être également omis de te préciser que tout cette pagaille doit fonctionner dans la même page php.
                • Partager sur Facebook
                • Partager sur Twitter
                  27 novembre 2005 à 9:47:25

                  Ton code n'est pas bon...

                  Si tu veux, réexplique bien tout ce que tu veux que le script fasse, et je te le code (si ce n'est pas trop long !).
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 novembre 2005 à 10:25:35

                    Merci encore, et désolé de te prendre le choux. Je souhaite récupérer la valeur affichée dans l'input number charisme, à la fin des ajustements ayant été fait par les deux boutons + et -. (A moins que se soit possible en temps réel à chaque action sur l'un des boutons + et - ?). Le soucis principal provient du fait qu'il me faut récupérer cette variable en PHP et non en Javascript.

                    A l'heure actuelle avec le script que je t'ai soumis, toute la partie javascript fonctionne parfaitement (grace à toi nettement plus simplement, lol). Les deux dernières lignes me permettent bien de récupérer en PHP la variable charisme mais uniquement la valeur de base non modifiée (le 0 de la value en fait).

                    Il me faudrait passer par un bouton de validation, mais toute mes tentatives jusqu'à présent bloque soit le javascript, soit ne me renvoie rien. J'ai cru comprendre en farfouillant qu'il me faut passer par un formulaire "Hidden" et valider ce dernier vers une autre page en PHP.

                    Mais je t'avoue que là je rame sérieusement.

                    Eureka, j'ai finalement trouvé, si ça intéresse quelqu'un d'autre :

                    <html>
                    <head>

                    </head>

                    <body>

                    <form name="charisme" method="GET" action="reception.php" >
                    Charisme : <input type="number" name="charisme" value="8" size="2" />
                    <input type="button" value="+" onClick="javascript:document.charisme.charisme.value++;"/>
                    <input type="button" value="-" onClick="javascript:document.charisme.charisme.value--;"/>
                    <br />
                    <input type="submit" value="valider" />
                    </form>
                    </body>
                    </html>


                    Je suppose qu'une fois encore, il existe des solutions plus simples et plus élégantes, mais au moins là ça fonctionne.

                    Merci encore alex.hitman pour ton aide très précieuse.
                    @+
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Optimisation de 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