Partage
  • Partager sur Facebook
  • Partager sur Twitter

[need help] appeler une fontion...

... avec un bouton

    16 janvier 2009 à 18:02:22

    bon c'est surment tout bête :euh: mais franchement j'y arrive pas!!

    ps si vous savez faire la même chose pour un lien clikable... :-°
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      16 janvier 2009 à 18:23:45

      En général par son nom ça marche bien.
      • Partager sur Facebook
      • Partager sur Twitter
        16 janvier 2009 à 18:28:05

        oui mais C'est quoi le code?
        • Partager sur Facebook
        • Partager sur Twitter
          16 janvier 2009 à 19:21:34

          ouai j'ai trouver mais en appelant le fonction cette fonction ne dois contenir que du javascript et pas de php :euh: or mois dans ma fonction ya du php! vous savez comment faire?
          • Partager sur Facebook
          • Partager sur Twitter
            16 janvier 2009 à 19:31:02

            exemple:
            tu appeles la page index.php?nom=monsieurBoulet
            <html>
            <head>
            <script type="text/javascript">
            function truk()
            {
            alert('Tu t\'appeles <?php echo $_GET['nom'];?>!');
            }
            window.onload=truk();
            </script>
            </head>
            <body>
            </body>
            </html>
            

            • Partager sur Facebook
            • Partager sur Twitter
              17 janvier 2009 à 12:00:26

              Citation : xavierm02

              exemple:
              tu appeles la page index.php?nom=monsieurBoulet

              <html>
              <head>
              <script type="text/javascript">
              function truk()
              {
              alert('Tu t\'appeles <?php echo $_GET['nom'];?>!');
              }
              window.onload=truk();
              </script>
              </head>
              <body>
              </body>
              </html>
              



              -__-
              Vous arrivez toujours pas à comprendre la différence entre fonction et fonction() ?
              window.onload=truk(); ca va envoyer la valeur de retour de truk, alors que
              window.onload=truk; va envoyer la variable truk qui est une fonction
              Les deux cas s'utilisent, mais faut savoir dans quel cas utiliser chacun.
              • Partager sur Facebook
              • Partager sur Twitter
                17 janvier 2009 à 12:51:12

                dans les 2 cas ça devrait marcher...
                si ça renvoit une valeur, c'est que la fonction a été effectuée...
                mais bon:
                <html>
                <head>
                <script type="text/javascript">
                function truk()
                {
                alert('Tu t\'appeles <?php echo $_GET['nom'];?>!');
                }
                window.onload=truk;
                </script>
                </head>
                <body>
                </body>
                </html>
                

                • Partager sur Facebook
                • Partager sur Twitter
                  17 janvier 2009 à 13:04:18

                  Non, tu ne comprend toujours pas :
                  function truk() {
                     return "machin";
                  }
                  

                  Si tu fait window.onload = truk();
                  Ca équivaut à faire :
                  var retour = truk(); //retour = "machin"
                  window.onload = retour;
                  

                  Ce qui ne veut strictement rien dire, et encore pire, car ne trouvant pas de fonction, le compilateur va lancer eval sur machin, et ca le fera quand même planter.
                  window.onload = eval("machin");

                  Alors que window.onload = truk;
                  Tu envoie en quelque sorte la référence de la fonction truk, et donc, tu peux l'exécuter ensuite.
                  Ca équivaut à : window.onload = function() { return "machin"; };

                  Donc ca n'a strictement rien à voir !
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 janvier 2009 à 13:08:35

                    Citation : Timot

                    Non, tu ne comprend toujours pas :

                    function truk() {
                       return "machin";
                    }
                    


                    Si tu fait window.onload = truk();
                    Ca équivaut à faire :

                    var retour = truk(); //retour = "machin"
                    window.onload = retour;
                    



                    Donc ca n'a strictement rien à voir !



                    Si j'ai compris... n'empêche que ça lance la fonction donc c'est pas normal qu'il dise que ça marche pas...
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      17 janvier 2009 à 15:33:04

                      Citation : Timot

                      Ce qui ne veut strictement rien dire, et encore pire, car ne trouvant pas de fonction, le compilateur va lancer eval sur machin, et ca le fera quand même planter.
                      window.onload = eval("machin");



                      Pas dans ce cas là. C'est le « privilège » de setTimeout, setInterval et eval d'appeller le compilateur. Là tu assigne juste une chaine à un membre de l'objet window tout ce qu'il va essayer de faire c'est "retour"(); et va lamentablement échouer.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 janvier 2009 à 19:34:09

                        bon en gros je fait comment pour appeller "mafonction" grâce a un bouton??? parce que vous êtes pas très clair ^^
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 janvier 2009 à 19:36:25

                          <input type="button" onclick="mafonction()"/>
                          

                          dsl si on s'est écarté du sujet :p
                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 janvier 2009 à 19:40:09

                            oki mais si ya du php dedans? jecrit koi?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 janvier 2009 à 19:59:11

                              si la variable change en fonction du bouton


                              function truk(nom)
                              {
                              alert('Tu t\'appeles '+nom+'!');
                              }
                              


                              <input type="button" onclick="truk('<?php echo $_GET['nom']; ?>')"/>
                              

                              si la variable est la même pour tous les boutons


                              function truk()
                              {
                              alert('Tu t\'appeles <?php echo $_GET['nom']; ?>!');
                              }
                              


                              <input type="button" onclick="truk()"/>
                              

                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 janvier 2009 à 20:17:23

                                en fait je veux que quand on clic sur le bouton sa apelle une fonction qui actualise ma BDD dou le php ^^
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  18 janvier 2009 à 11:01:27

                                  ajax me permet pas de faire ça AUTOMATIQUEMENT!!!! sauf si vous avez le code ^^
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    18 janvier 2009 à 11:08:14

                                    bah si...
                                    le code AJAX appel une page PHP à laquelle il transmet des variables et la page PHP les enregistre dans la BDD...
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      18 janvier 2009 à 12:11:54

                                      tu me file le code stp? parce que je galère a mort?! ^^
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        18 janvier 2009 à 12:20:16

                                        Je te donne des indices :)

                                        <button onclick="appel();">Texte du bouton</button>
                                        


                                        function appel() {
                                        /* Ici tu utilises la fonction vue dans le tuto mentionné plus haut,
                                        pour envoyer tes données... Ca finit normalement à peu près comme ça : */
                                        
                                                        xhr.open("POST", "ta_page_PHP.php", true);
                                                        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                                                        xhr.send("var1=valeur1&var2=valeur2");
                                        }
                                        


                                        Et ta page PHP :
                                        <?php
                                        if($_POST["var1"]&&$_POST["var2"]) {
                                         // UPDATE de la BDD
                                        }
                                        ?>
                                        
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          18 janvier 2009 à 12:38:44

                                          j'ai trouver une solution toute con : le bouton renvoie a la page , je récupère le $_POST et c'est bon ^^
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            18 janvier 2009 à 12:43:27

                                            ... Oui, tu peux aussi faire comme ça. L'avantage de l'Ajax était de ne pas recharger la page. Mais si le rechargement ne te dérange pas, alors oui pourquoi pas.

                                            Mets le sujet en résolu si c'est ok.
                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            [need help] appeler une fontion...

                                            × 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