Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème de fonction java

il n'execute que les dix première...

    6 juillet 2009 à 18:53:04

    bonjours alors voila mon gros souci

    j'ai 19 fois cette fonctions dans un fichier .js. cette fonction me permet d'augmentet de 1 le niveau d'un batiment, et donc vous l'aurez compris j'ai 19 batiments, donc 19 fonctions... j'ai pas trouver d'autre moyen...

    voici ma fonction (dont je remercie celui qui ma aider^^)

    function calcul(valeur)
    {
    document.getElementById("a").value= parseInt(document.getElementById("a").value,10)+parseInt(valeur,10);
    }
    


    donc à chaque fois j'ai juste modifier la lettre "a" par "b" "c" jusqu'à "s"

    mon soucis c'est que mes fonctions fonctionnent, mais uniquement la dix première... autrement dit après la lettre "j" sa ne fonctionne plus et je ne sais pas pourquoi...

    y a t'il une solution ???

    merci de votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      6 juillet 2009 à 19:06:45

      Salut,

      boucle for() et remplacer tes id qui sont des lettres par des numeros :D

      EDIT:

      par exemple :
      function calcul(valeur)
      {
      for(var i=1;i<=19;i++){
           document.getElementById(i).value= parseInt(document.getElementById(i).value,10)+parseInt(valeur,10);
      }
      }
      
      • Partager sur Facebook
      • Partager sur Twitter
        6 juillet 2009 à 19:18:54

        pas bete du tout je test et je te dis si cela fonctionne

        merci encore^^

        je modifie mon post pour éviter de reposter

        sa marche mais quand je clikque sur mes boutons (yen a 19aussi lol) ben sa modifie toute les valeurs et sa ne marche qu'avec le id numéro 1
        • Partager sur Facebook
        • Partager sur Twitter
          6 juillet 2009 à 19:31:18

          je vous met la page de mon site il faut clicquer sur le lien batiments a gauche

          http://testjeu.hebfree.org/jeu/cadre.html

          j'ai pa mis la feuille de style, mais la si tu regarde bien ken tu clique sur "construire niveau" du premier batiment sa marche (pour moi du moin) mais les autre non...
          • Partager sur Facebook
          • Partager sur Twitter
            6 juillet 2009 à 19:36:02

            Dans le fond, je crois que tu n'as que besoin d'une seule fonction qui est appelee sur tout les boutons qui servent a construire les batiments. Et bien sur, tu ajoute le id approprie a chaque appel de fonction :)

            Je n'arrive pas a trouver ou on va pour voir l'edifice entrain de se construire o_O
            • Partager sur Facebook
            • Partager sur Twitter
              6 juillet 2009 à 19:50:35

              tu ne trouvera pas encore l'edifice entrain de se construire pcq pour le moment tout se fait en instantannée je connais pas encore assez bien pour faire le temps de construction =S

              une seule fonction ????? je veux bien mais je fait comment le changement de id ????? si j'ai mis une fonction par id c'est pcq je sais pas du tout comment se que tu vien de me dire, j'y ai penser.. mais pour le mettre en place... pas trouver
              • Partager sur Facebook
              • Partager sur Twitter
                6 juillet 2009 à 19:58:16

                J'ai vu que sur ton sit tu utilise des <input>. Alors ce que tu pourrais faire c'est:

                var inputButton = document.getElementsByTagName('input');
                
                for(var i=0;i<inputButton.length;i++){
                   if(inputButton[i].type=='button'){  // ou bien 'submit'
                      inputButton[i].onclick=calcul(inputButton[i].id);
                   }
                }
                


                Pour ce qui est du changement des id dans ton HTML, il faut le faire manuellement :p
                • Partager sur Facebook
                • Partager sur Twitter
                  6 juillet 2009 à 20:03:25

                  pfiouuu je comprends plus rien la mdrr

                  faut je mette ce que tu vien de me donner dans mon fichier .js ?? et qu eje modifie toute les valeur de mes id en num manuellement ???
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 juillet 2009 à 21:23:34

                    Tu peux simplement ajouter la fonction que je t'ai donner au depart:

                    function calcul(valeur)
                    {
                       for(var i=1;i<=19;i++){
                            document.getElementById(i).value= parseInt(document.getElementById(i).value,10)+parseInt(valeur,10);
                       }
                    }
                    


                    Et oui, malheureusement, il faut changer les id de tes boutons qui appelent la fonction manuellement. Ou bien tu peux cree une fonction qui imprime le input pour chaque edifice que tu veux construire.

                    for(var i=1;i<=19;i++){
                        document.write('input type="button" id="'+i+'" onclick="calcul(this.id)" /   <br /><br />');
                    }
                    


                    Tout ce qui reste a faire c'est rajouter les < > et placer chaque input a l'endroit approprie ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 juillet 2009 à 11:25:20

                      d'accord merci pour tout encore
                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 juillet 2009 à 11:50:21

                        N'oublie pas de mettre ton sujet en résolu à l'aide du lien en bas de page ;)
                        • Partager sur Facebook
                        • Partager sur Twitter

                        problème de fonction java

                        × 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