Table de multiplication

Bonjour,
J'essaye de faire une table de multiplication mais mon code ne marche pas, j'esssaye de trouver l'erreur mais je ne vois vraiment pas
Est-ce que vous pourriez me donner un coup de main? merci beaucoup :)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title> table de multiplication</title>

<script type="text/javascript">
<!--
function calculer()
{
var number = parseInt(document.getElementById('Number').value);
document.getElementById('Result').HTML += table_multiplication(nombre) +'<br/>';
}

function table_multiplication(nombre)
{

var i;
for (i=0; i<=10; i++) {
resultat=nombre*i;
document.write(nombre+" x "+i+"="+nombre*i+"<br>");
}
}

-->
</script>

</head>

<body>
<input type="text" id="Number">
<input type="button" value="Calculer" onclick="calculer();">
<div id="Result"></div>
</body>
</html>

6 réponses

  1. salut, je vois nombre et number
    1. si tu es comme moi c'est à dire que ça fonctionne jamais du premier coups, sert toi de la console de débogage de ton navigateur
  2. Merci pour le 'nombre et number' ça marche. mais le probleme maintenant c'est quil faut (suivant l'énoncé de mon tp) garder la zone de texte affichée même après avoir cliquer sur le bouton.
    estce que vous savez ce que je dois changer à mon code?
    Merci encore :)
    1. je sais pas si c'est bien de faire tes devoirs de cette manière :D

      function calculer() {
      var number = parseInt(document.getElementById('Number').value);
      document.getElementById('Result').HTML += table_multiplication(number) + '<br/>';
      }

      function table_multiplication(nombre) {

      var i;
      for ( i = 0; i <= 10; i++) {
      var text = nombre + " x " + i + "=" + nombre * i + "<br>";
      document.getElementById("Result").innerHTML += text;
      }
      }
      --
      ׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
      1. Salut,

        Ta fonction marche très bien.

        .HTML est utilisé en jQuery à mon avis.
        Tu remplaces .HTML par .innerHTML et ça marche (j'ai testé).

        Le problème c'est qu'avec document.write tu effaces le contenu de ta page et tu ne peux pas refaire une opération...

        Sinon, j'ai simplifié ton code, j'espère que tu comprendras mon code, j'ai essayé de raisonner comme toi:


        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <head>
        <title> table de multiplication</title>

        <script type="text/javascript">
        function calculer()
        {
        var nombre = parseInt(document.getElementById('Number').value);
        var resultat = document.getElementById('Result');

        var tables = "";

        for (i=0; i<=10; i++) {
        var solution = nombre*i;
        tables += i+" x "+nombre+" = "+solution+"<br />";
        }

        resultat.innerHTML = tables;
        }
        </script>

        </head>

        <body>
        <input type="text" id="Number">
        <input type="button" value="Calculer" onclick="calculer();">
        <div id="Result"></div>
        </body>
        </html>
        1. J'aimerai juste savoir... est-ce qu'il y a une raison pour laquelle la condition if ne fonctionnerait pas avec ce code :
          function calculer()
          {
          var number = parseInt(document.getElementByI('Number').value);
          document.getElementById('Result').HTML += table_multiplication(number) + '<br/>';
          }
          function table_multiplication(nombre)
          {
          var i;
          for ( i = 0; i <= 10; i++)
          {
          var text = nombre + " x " + i + "=" + nombre * i + "<br>";
          document.getElementById("Result").innerHTML += text;
          }
          }

          Parcequ'avec

          function table_multiplication(nombre)
          {
          document.writeln("La table de"+nombre+ "<br />");
          var i;
          for (i=0; i<=10; i++) {
          resultat=nombre*i;
          document.write(nombre+" x "+i+"="+nombre*i+"<br />");
          }
          en rajoutant if:
          if (nombre>12)
          document.writeln("Le nombre entré est superieur à 12");
          if (nombre<2)
          document.writeln("Le nombre entré est inferieur à 2");
          else
          document.writeln ("Le nombre entré est compris entre 2 et 12");

          ca fonctionne tres bien
          Je crois que je suis perdue ...
        2. salut, je t'ai dit de te servir de la console de débogage

          l'erreur est dans cette ligne :

          var number = parseInt(document.getElementByI('Number').value); 
      2. bonsoir
        je vous remercie beaucoup pour votre aide, ça m'a beaucoup avancée :)
        merciiiiii
        1. J'aimerai juste savoir... est-ce qu'il y a une raison pour laquelle la condition if ne fonctionnerait pas avec ce code :
          function calculer()
          {
          var number = parseInt(document.getElementByI('Number').value);
          document.getElementById('Result').HTML += table_multiplication(number) + '<br/>';
          }
          function table_multiplication(nombre)
          {
          var i;
          for ( i = 0; i <= 10; i++)
          {
          var text = nombre + " x " + i + "=" + nombre * i + "<br>";
          document.getElementById("Result").innerHTML += text;
          }
          }

          Parcequ'avec

          function table_multiplication(nombre)
          {
          document.writeln("La table de"+nombre+ "<br />");
          var i;
          for (i=0; i<=10; i++) {
          resultat=nombre*i;
          document.write(nombre+" x "+i+"="+nombre*i+"<br />");
          }
          en rajoutant if:
          if (nombre>12)
          document.writeln("Le nombre entré est superieur à 12");
          if (nombre<2)
          document.writeln("Le nombre entré est inferieur à 2");
          else
          document.writeln ("Le nombre entré est compris entre 2 et 12");

          ca fonctionne tres bien
          Je crois que je suis perdue ...