Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] fonction qui ne se lance pas

Quand on clique sur un bouton

Sujet résolu
Anonyme
    13 mai 2006 à 13:50:54

    Bonjour tous les zéros,
    tout d'abord, désolé de faire un topic ausis bête mais la je ne comprend vraiment pas le problème :o
    J'ai un formulaire, avec 3 inputs qui contiennent des chiffres, un input button qui, quand on cliques dessus, appele la fonction pythagore()

    Seulement, c'est la le problème, la fonction, n'as pas l'air d'être appelée :euh:
    Voila mon boutton:
    <input type="button" value="verifier" onclick="javascript:pythagore();" />

    Ce qui foire!
    Hors, si je fait:
    <input type="button" value="verifier" onclick="javascript:alert('Ca marche!');" />

    Il y a bien une boite de dialogue qui s'ouvre quand on clique

    J'ai revérifier ma fonction pythagore pour voir si elle fonctionnait, mais je n'ai rien vu de spécial.
    J'ai aussi réduit la fonction pythagore à un simple:

    function pythagore() {
        alert("Ca marche!");
    }


    Mais la encore ca ne fait rien!

    Donc j'en ai conclu que la fonction n'était pas appelée.
    Voici mon code html et javascript, ils sont tout simple, j'espere que quelqu'un pourra m'aider parce que la je ne comprend pas du tout Image utilisateur
    index.html
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">   
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
        <title>Une page internet</title>
        <link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
        <script type="text/javascript" src="script.js"></script>
    </head>

             
    <body>

    <div class="banniere">
    </div>
    <!--Ensuite le menu horizontal-->
    <div class="menu_horizontal">
       <a href="#">Lien</a>--<a href="#">Lien</a>--<a href="#">Lien</a>--
       <a href="#">Lien</a>

    </div> 
    <!--Passons au menu de gauche-->
    <div class="menu_gauche">
       <p class="profil">
        <br/>
          Presentation<br/>
          Presentation<br/>
          Presentation<br/>
          Presentation<br/>
             
       </p>
       <hr/>
       <p>
          &nbsp;
          <span class="categorie">Favoris</span><br/><br/>

          <a href="#">Lien</a><br/>
          <a href="#">Lien</a><br/>
          <a href="#">Lien</a><br/>
          <a href="#">Lien</a><br/>
       </p>
       <hr/>
       <p>

          &nbsp; <span class="categorie">Mes sites</span><br/><br/>
          <a href="#">Site perso</a><br/>
          <a href="#">Site perso</a><br/>
          <a href="#">Site perso</a><br/>
          <a href="#">Site perso</a><br/>
       </p>   
       <hr/>

       <p>
          o0 Auteur 0o
       </p>   
    </div> 
    <!--Enfin, la partie principale-->
    <div class="corps" style="text-align: center;">
    <h3>Pythagore:</h3>
    <br />
    <form name="pythagore" action="#">
    Longeur 1er côté:&nbsp;<input type="text" name="a" /><br/>
    Longeur 2ème côté:&nbsp;<input type="text" name="a" /><br/>
    Longeur 3ème côté:&nbsp;<input type="text" name="c" /><br/>
    Verifier si le triangle est rectangle&nbsp;<input type="button" value="verifier" onclick="javascript:pythagore();" /><br />
    <div id="resulatPyt"></div>
    <br />
    </div>
    <!--Terminons par le pied de page-->
    <div class="pied">
       <p>
          <br/>
          <span class="texte_pied">FEBC 2005-2006</span>
       </p>   
    </div>
    </body>

    </html>


    et le script javascript ( script.js ):
    script.js
    function pythagore() {
        var A = document.forms["pythagore"].elements["a"].value;
            var B = document.forms["pythagore"].elements["b"].value;
            var C = document.forms["pythagore"].elements["c"].value;
        if((A) && (B) && (C)) {
                var calculGaucheA = pow(A, 2);
                    var calculDroitA = pow(B, 2) + pow(C, 2);
                    var calculGaucheB = pow(B, 2);
                    var calculDroitB = pow(A, 2) + pow(C, 2);
                    var calculGaucheC = pow(C, 2);
                    var calculDroitC = pow(A, 2)+ pow(B, 2);
                    if((calculGaucheA == calculDroitA) OR (calculGaucheB == calculDroitB) OR (calculGaucheC == calculDroitC)) {
                        document.getElementById("resulatPyt").innerHtml = "Le triangle est rectangle";
                    }
            else {
                        document.getElementById("resulatPyt").innerHtml = "Le triangle n'est pas rectangle";
                    }   
                   
            }
            else {
                alert("Entrez la longueur des côtés");
        }
    }


    Merci a ceux qui m'ont lu et d'avance à ceux qui me répondront :)

    Edit: J'ai oublié de préciser que mon fichier scrip.js est bien dans le même dossier que index.html ;)
    • Partager sur Facebook
    • Partager sur Twitter
      13 mai 2006 à 15:39:21

      Slt,

      Je me suis penché sur ton script, j'ai réussi à le faire fonctionner, j'ai fais fort :p car je suis vraiment nul en js^^

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">   
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
      <head>
          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
          <title>Une page internet</title>
          <link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
          <script type="text/javascript">
                                           
          function pythagore() {
            var A = document.forms["pythagore"].a.value;
            var B = document.forms["pythagore"].b.value;
            var C = document.forms["pythagore"].c.value;
            var result = document.getElementById("resulatPyt");
            if((A) && (B) && (C)) {
                var calculGaucheA = Math.pow(A, 2);
                var calculDroitA = Math.pow(B, 2) + Math.pow(C, 2);
                var calculGaucheB = Math.pow(B, 2);
                var calculDroitB = Math.pow(A, 2) + Math.pow(C, 2);
                var calculGaucheC = Math.pow(C, 2);
                var calculDroitC = Math.pow(A, 2)+ Math.pow(B, 2);
                if((calculGaucheA == calculDroitA) || (calculGaucheB == calculDroitB) || (calculGaucheC == calculDroitC)) {
                    result.innerHTML = "Le triangle est rectangle";
                }
                else {
                    result.innerHTML = "Le triangle n'est pas rectangle";
                }
            }
            else {
                alert("Entrez la longueur des côtés");
            }
        }
        </script>
      </head>

               
      <body>

      <div class="banniere">
      </div>
      <!--Ensuite le menu horizontal-->
      <div class="menu_horizontal">
         <a href="#">Lien</a>--<a href="#">Lien</a>--<a href="#">Lien</a>--
         <a href="#">Lien</a>

      </div>
      <!--Passons au menu de gauche-->
      <div class="menu_gauche">
         <p class="profil">
          <br />
            Presentation<br />
            Presentation<br />
            Presentation<br />
            Presentation<br />
               
         </p>
         <hr />
         <p>
            &nbsp;
            <span class="categorie">Favoris</span><br /><br />

            <a href="#">Lien</a><br />
            <a href="#">Lien</a><br />
            <a href="#">Lien</a><br />
            <a href="#">Lien</a><br />
         </p>
         <hr />
         <p>

            &nbsp; <span class="categorie">Mes sites</span><br /><br />
            <a href="#">Site perso</a><br />
            <a href="#">Site perso</a><br />
            <a href="#">Site perso</a><br />
            <a href="#">Site perso</a><br />
         </p>   
         <hr />

         <p>
            o0 Auteur 0o
         </p>   
      </div>
      <!--Enfin, la partie principale-->
      <div class="corps" style="text-align: center;">
      <h3>Pythagore:</h3>
      <br />
      <form id="pythagore" action="#">
      Longeur 1er côté:&nbsp;<input type="text" name="a" /><br />
      Longeur 2ème côté:&nbsp;<input type="text" name="b" /><br />
      Longeur 3ème côté:&nbsp;<input type="text" name="c" /><br />
      Verifier si le triangle est rectangle&nbsp;<input type="button" id="verif" value="verifier" onclick="pythagore();" /><br />
      <div id="resulatPyt"></div>
      </form>
      <br />
      </div>
      <!--Terminons par le pied de page -->
      <div class="pied">
         <p>
            <br />
            <span class="texte_pied">FEBC 2005-2006</span>
         </p>   
      </div>
      </body>

      </html>
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        13 mai 2006 à 16:03:53

        Whaou! :D
        Super merci très beaucoups enormement! ( quoi c'est pas francais? :lol: )
        Vraiment merci beaucoups de ton aide :)

        Mais je ne vois pas beaucoups de différence, il y a les || à la place de OR dans la fonction pythagore();, tu as aussi donné un id au boutton.

        Tu peux m'expliquer ce qui n'allait pas?
        Si pas, ce n'est rien, encore merci ;)
        • Partager sur Facebook
        • Partager sur Twitter
          13 mai 2006 à 16:26:21

          Ce qui n'allait pas, c'est l'appel à la fonction pow qui générait une erreur dans ton script, il faut mettre math.pow

          Utilises la console javascript de firefox, c'est vachement pratique pour repérer les erreurs.

          L'id du button ne sert à rien, tu peux l'enlever.

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            13 mai 2006 à 16:30:07

            Ah d'accooooooord :D
            et bien tu m'apprend quelque chose la, je pensais que pow tout court suffisait ^^

            encore un grand merci :)
            • Partager sur Facebook
            • Partager sur Twitter

            [JS] fonction qui ne se lance pas

            × 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