Bonjour,

Voila je rencontre un petit problème avec mon code.
En fait, je souhaite retrouver le nombre que j'ai saisi dans le input de ma page html.
Voici mon code javascript

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire


<DOCTYPE html>
    <html>
    <head>
        <title>Exercices sur les formulaires JS</title>
        <meta charset="utf-8">
    </head>
    <body>

Entree : <input type="text" id="rows">  

<button onclick="dessiner()">dessiner</button>
<div id="ecran"></div>

<script type="text/javascript">
    function dessiner(){

var ecran = document.querySelector("#ecran");
ecran.innerHTML = makeTable();     
   } 
    function makeTable(){
   var mavaleur = parseFloat(document.querySelector("#rows").value);
   var TAB; 
    TAB = [
        {
            nom:"LATIF",
            NE:12,
            VD:20
        },{
            nom:"pierre",
            NE:13,
            VD:11
        },{
            nom:"moise",
            NE:6,
            VD:9
        },{
            nom:"kamou",
            NE:19,
            VD:5
        }];

        for (var i = 0; i< TAB.length; i++){
           var ATTRIBUT = TAB[i];
                if(ATTRIBUT.NE == mavaleur){
     return mavaleur + " est la numérique de " + ATTRIBUT.nom ;
                } else if (ATTRIBUT.VD == mavaleur){
     return ( mavaleur + " est la dilatée de  " + ATTRIBUT.nom );
            } else {
                    return  ("cette note pas connue");
                }
            } 
        }

     !Entourez votre code pour bien le mettre en forme

Ce que je veux

je sollicite votre aide pour faire fonctionner le code afin de trouver n'importe quel nombre du tableau.
MERCI D'AVANCE

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
Le problème c'est que je n'ai accès qu'au premier objet de mon tableau (TAB[0])
si je recherche, par exemple, la note 13, il s'affiche sur ma page "cette note pas connue".
Cequi signifie que i ne prend que la valeur 0 (la boucle for ne tourne pas).

2 réponses


mouhamaddia
Auteur
Réponse acceptée

Salut,
Narshe, je te remercie de m'avoir aidé à résoudre mon problème.
C'est que je suis débutant dans la programmation mais je compte sur des gens comme toi
pour progresser encore.
En tous cas je regrette pas d'avoir suivi tes conseils, merci encore une fois.

Salut,

Le problème est que tu utilises le return dans tout les cas, ce qui arrête forcément l'execution de ta boucle.
Pour que ton script fonctionne ( dans cette configuration ) il suffi que tu enlèves ton else et que tu mettes le code qu'il contient à la fin de ta fonction.

Ce que tu fais n'est pas forcément une bonne pratique, par exemple si ATTRIBUT.NE et ATTRIBUT.VD sont égaux tu va certainement avoir un problème