Se connecter

Informatique

Création de sites web

Sujet : [DEBUTANT] Bloquage en JavaScript
1
FromHeavens
Niveau 10
22 juin 2017 à 12:45:22

Bonjour tout le monde, j'ai commencé à apprendre le JavaScript il y'a environ 1 semaine et demie mais là je sèche complètement.

En gros je fais l'exercice classique du "calcul d'IMC", une fois les valeurs entrées et que l'on appuie sur le bouton, un texte doit apparaître sous les champs et selon le résultat du calcul, afficher un texte différent.

Mon problème : Si on effectue plusieurs fois des calculs, le texte vient se placer sous le premier texte au lieu de le remplacer.
J'ai pensé que le problème venait du fait que la création du texte se faisait dans la fonction et que de ce fait chaque fois qu'on exécute le code, la fonction vient recréer un paragraphe supplémentaire sous le précédent, mais en essayant de sortir ces lignes de code de la fonction, ça ne fonctionne plus :(

Je ne sais pas si j'ai été très clair, voilà les screens et j'espère que quelqu'un pourra m'aider, merci d'avance ! :)
https://www.noelshack.com/2017-25-4-1498128188-html1.jpg https://www.noelshack.com/2017-25-4-1498128196-javascript1.jpg

Popovitch
Niveau 10
22 juin 2017 à 13:21:54

Dans ton js tu crées à chaque fois un nouveau noeud (createTextNode) que tu ajoutes après #ib (appendChild).
A aucun moment tu ne dis à ton code qu'il faut supprimer ou remplacer le noeud précédemment créé :ok:

Mon conseil serait de faire plus simple et d'ajouter une balise <div> vide dans ton html que tu viendrais simplement modifier à chaque submit grâce à la propriété innerHtml

FromHeavens
Niveau 10
22 juin 2017 à 14:15:53

Merci beaucoup pour ton aide c'est bon ça marche nickel, j'arrive à retenir mes cours mais quand je dois me débrouiller pour créer quelque chose de spécifique, je suis toujours perdu :noel:

https://www.noelshack.com/2017-25-4-1498133729-html1.jpg https://www.noelshack.com/2017-25-4-1498133734-javascript1.jpg

1
Sujet : [DEBUTANT] Bloquage en JavaScript
   Retour haut de page
Consulter la version web de cette page