Bonjour,
j'ai une page html qui comporte un code javascript très long, mon soucis est que ce matin tout fonctionner et je pensais avoir terminer mon code et cet aprés-midi plus un seul code ne tourne. J'ai mis le javascript dans un page dédiée, puis dans 2 pages, mais impossible de le faire fonctionner
juste à maintenant je n'avais jamais utiliser de feuille de script et votre aide m'est indispensable
le code est tellement long que j'ai fait 2 feuille car par expérience je me suis déjà fait jeter par VB "out of capacity" et je ne sait pas comment ça se passe avec javascript
voilà les liens que j'ai insérer sur ma feuille html
<script type="text/javascript "> use strict; alert("ça marche")
function recherchE(elmet1) { var optionValu1 = elmet1.value; var optionText1 = elmet1.options[elmet1.selectedIndex].text; document.getElementById("efficience").value = (optionText1/60).toFixed(2); }
function recherchF(ell) { var optionVall = ell.value; var optionTextl = ell.options[ell.selectedIndex].text; document.getElementById("indice").value = optionTextl; var indisse= document.getElementById("indice").value
}
if (indisse =="limon") {
document.getElementById("indice").value = 0.74;
} else if (indisse == "Tourbe") {
document.getElementById("indice").value = 0.85; }
else if (indisse =="Argile en dépot naturel") {
document.getElementById("indice").value = 0.82; } else if (indisse =="Argile sèche") {
document.getElementById("indice").value = 0.81; }
else if (indisse == "Argile mouillée") {
document.getElementById("indice").value = 0.82; } else if (indisse == "Argile et graviers secs naturel") {
document.getElementById("indice").value = 0.85; } else if (indisse == "Argile et graviers mouillés naturel") {
function rechercher(elme) { var optionValu2 = elme.value; var optionText2 = elme.options[elme.selectedIndex].text; //alert(optionText2) document.getElementById("Distances").value = optionText2; DISTANCE() } function RHBOUTEUR() {
var indisse = Number(document.getElementById("indice").value*1) var pentes = Number(document.getElementById("pente").value*1) var RHabaque = Number(document.getElementById("RHfort").value*1) var Efficience = Number(document.getElementById("efficience").value*1) var RHfort = Number(document.getElementById("RHfort").value*1)
si tous peu rentrer sur une page avec le html ça m'éviterrait des soucis sinon comment dois-je m'y prendre pour faire tourner le javasript car pour le moment je n'arrive pas à ouvrir mes alert
EDIT : AJout du LANGAGE dans les balises de code pour avoir la coloration syntaxique. !!!
Déjà, je constate beaucoup de répétitions.
Cela est souvent signe d'un code mal pensé.
Regardes pour utiliser un tableau (associatif si besoin) pour simplifier ton code.
Pour compléter un peu les informations :
- Où as-tu mis les balises d'import du JS dans ton code HTML ?
- Quel navigateur/version ?
- As-tu regardé la console de debug de ton navigateur ?
j'ai mis les balises dans le head, mais après réflexion j'ai rapatrier tous le monde dans la feuille html et avec un peu d'assiduité j'ai réussi à tous déboguer. hélas j'ai un autre problème que je ne comprend pas.
function RHcal(){
var indisses = Number(document.getElementById("indis").value) var pentes = Number(document.getElementById("pente").value) var RHabaque = Number(document.getElementById("RHfort").value) var Efficience = Number(document.getElementById("efficience").value)
document.getElementById("calculX").addEventListener("click", function (event) { RHcal(); }, false);
il y a bien des nombres dans toutes les variables et pourtant le résultat donne un jolie "NAN
bien sur c'est un autre sujet mais être arrivé au bout de tous ce code pour multiplié 5 variable c'est frustrant surtout que je n'arrive pas à trouver ma bêtise...
Pour ton autre souci...
1 - N'oublie pas les point-virgules à la fin de chaque ligne
2 - Ajoute des console.log de tes différentes variables pour voir ce qu'elles valent
3 - Plutot que de faire un
.toFixed(0);
.. fais donc juste un
.toFixed();
3 bis - Le
.toFixed();
est même inutile dans ce cas présent
4 - Une fois les console.log ajouté... reviens nous les montrer si ton souci persiste.
Et enfin... une fois ton souci corrigé ... pense à mettre le sujet en RESOLU (via la roue crantée à droite du titre de ta question).
je suis vraiment novice en javascript et je n'arrive pas à faire façon de consol.log, par contre avec alert je trouve bien des variables numériques., pour être sur je les multiplie par un , jusqu'à aujourd'hui ça a toujours transformer les chiffres en texte en valeur numérique, mais là je bute car même le number n'a aucun effet, lorsque je multiplie tout ce jolie monde j’obtiens NaN !
butr sur la dernière lignes d'un code de 2350 lignes c'est vraiment frustrant, avez-vous une idées ?
pas réveiller ce matin mais après maintes manipulation j'ai découver que la variable efficience commencer par une majuscule.
merci à tous pour vos réponses ; la simplification de mon code pourra sans doute me servir quand je l'aurais comprise
Modifié le 11 juil. 2018 à 17:51
si tous peu rentrer sur une page avec le html ça m'éviterrait des soucis sinon comment dois-je m'y prendre pour faire tourner le javasript car pour le moment je n'arrive pas à ouvrir mes alert
EDIT : AJout du LANGAGE dans les balises de code pour avoir la coloration syntaxique. !!!
11 juil. 2018 à 18:23
Cela est souvent signe d'un code mal pensé.
Regardes pour utiliser un tableau (associatif si besoin) pour simplifier ton code.
Pour compléter un peu les informations :
- Où as-tu mis les balises d'import du JS dans ton code HTML ?
- Quel navigateur/version ?
- As-tu regardé la console de debug de ton navigateur ?