Uncaught ReferenceError sur une variable
Résoluemrh Messages postés 439 Statut Membre -
Bonjour à tous,
Je viens vous demander votre aide avant de devenir fou !
J'ai un code Javascript qui fonctionne parfaitement sur une page, je le copie/colle sur une autre et l'adapte au besoin de cette page et là :
Erreur en console :
recette-ajout1.php:218 Uncaught ReferenceError: liste_ingredients is not defined
at plus_Ingredient (recette-ajout1.php:218:21)
Voici le code simplissime en question :
var selectAliment = document.getElementById("aliment"); var selectQte = document.getElementById("quantite"); function plus_Ingredient(){ if (selectAliment.value != '' && selectQte.value > 0){ // Récupération de l'aliment : var text_aliment = selectAliment.options[selectAliment.selectedIndex].text; text_aliment = text_aliment.replace(/[';|]/g,' '); // Récupération des quantités : var quantites = parseFloat(selectQte.value).toFixed(2); // Construction de la chaine d'ingrédients : liste_ingredients.value += "|" + text_aliment + ";" + quantites; // Affichage de la table ingrédients sélectionnés : ingredients(); } } function ingredients(){ alert(liste_ingredients);// Pour tester la construction de la chaine /* SUITE DU CODE ... var tableau_ingredients = liste_ingredients.value.split('|');*/ }
Et voici le code qui fonctionne parfaitement sans erreur en console, (pourtant sans déclaration de chaine_contrat):
var TotalContrat = 0; document.getElementById("total_contrat").innerHTML = TotalContrat.toFixed(2); var selectElmt = document.getElementById("prestation"); function plus_contrat() { if (prestation.value != 0 && prix.value != 0 && quantite.value != 0) { // index 0 - id_prestation var text_prestation = selectElmt.options[selectElmt.selectedIndex].text; text_prestation = text_prestation.replace(/[';|]/g,' '); // index 1 - désignation_prestation var ref_prestation = prestation.value; ref_prestation = ref_prestation.replace(/[';|]/g,' '); // index 2 - descriptif_prestation var text_descriptif = descriptif.value; text_descriptif = text_descriptif.replace(/[';|]/g,' '); // index 3 - Prix prestation var ref_prix = parseFloat(prix.value).toFixed(2); // index 4 - Quantité_prestation var ref_quantite = parseFloat(quantite.value).toFixed(2); chaine_contrat.value += "|" + ref_prestation + ";" + text_prestation + ";" + text_descriptif + ";" + ref_prix + ";" + ref_quantite; TotalContrat = TotalContrat + ref_prix * ref_quantite; //total_contrat.value = TotalContrat.toFixed(2);// Pour une DIV document.getElementById("total_contrat").innerHTML = TotalContrat.toFixed(2); // Pour une SPAN document.getElementById("quantite").value = ''; contrat(); } }
J'ai essayé ça en début de code :
window.onload=function(){
var liste_ingredients;
}
Mais ça ne change rien !
Une idée ?
Merci d'avance...
- Uncaught ReferenceError sur une variable
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Vba excel sélectionner une plage de cellules variable ✓ - Forum Excel
2 réponses
Bonjour
liste_ingredients ... C'est quoi ? Un input dans ta page ? Car en effet.. tu n'initialises cette variable nui part..
Ooooohh bon sang, évidemment !
J'était tellement focalisé sur une variable que j'en ai oublié le .value qui renvoit à un input du formulaire !!!!
Du coup :
<input type="text" name="liste_ingredients" id="liste_ingredients" style="visibility: hidden;">
fonctionne nettement mieux que
<input type="text" name="chaine_contrat" id="chaine_contrat" style="visibility: hidden;">
MERCI JORDAN !