Uncaught TypeError: document.getElementsById is not a functi

Résolu/Fermé
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 - Modifié le 15 août 2022 à 00:21
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 - 15 août 2022 à 01:02

bonsoir a tous

j'ai de nouveau un petit soucis cela fait des heures que j'essaye de comprendre mais je ne vois pas pourquoi j'ai une telle erreur avec la function commander qui se bloque a cette ligne

var calculs = document.getElementsById("calculs").innerHTML;

voici un extrait du code de mon panier javascript qui permet de retourner des valeurs sur ma page php

document.getElementById("prix_depart").innerHTML  = MonPanier.totalpanier(); 
document.getElementById("calculs").innerHTML  = MonPanier.totalpanier();

ensuite sur ma page php je les réceptionne de cette manière

	<i id="calculs" ></i>	
<i id="prix_depart" ></i>	

 lorsque je les réceptionne sur ma page 

Ces données sont bien affichées

ensuite je traite ces donnes pour les envoyer par mail a mon fichier mail.php

C'est lorsque je clic sur commander et que le traitement s'effectue que j'ai l' erreur

voici le code du traitement 

j'ai tout analyser caractère par caractère je ne comprends pas 

<script src=""""></script>
				<!-- pour envoyer les infos vers mail.php -->
				<script>
				function commander(nom, prenom, adresse, cp, email, adressepoint, cppoint, villepoint, commande, prix_total, remise, nouveau_prix, prix_depart, total_qte_bas, message, ville, pays, detail_livraison,promotion,promotion,cb_ID, cb_Nom, cb_Adresse, cb_CP, cb_VILLE, cb_PAYS) {
					$.ajax({
						url: 'mail.php',
						type: 'POST',
						data: 'nom=' + nom + '&prenom=' + prenom + '&adresse=' + adresse + '&cp=' + cp + '&email=' + email + '&adressepoint=' + adressepoint + '&cppoint=' + cppoint + '&villepoint=' + villepoint + '&commande=' + commande + '&prix_total=' + prix_total + '&remise=' + remise + '&nouveau_prix=' + nouveau_prix + '&prix_depart=' + prix_depart + '&total_qte_bas=' + total_qte_bas + '&message=' + message + '&ville=' + ville + '&pays=' + pays + '&detail_livraison=' + detail_livraison + '&calculs=' + calculs + '&promotion=' + promotion +  '&cb_ID=' + cb_ID + '&cb_Nom=' + cb_Nom + '&cb_Adresse=' + cb_Adresse + '&cb_CP=' + cb_CP + '&cb_VILLE=' + cb_VILLE + '&cb_PAYS=' + cb_PAYS,
						dataType: 'html',
						success: function(reponse) {
							if(reponse == "1") {
								//MonPanier.clearpanier();
								afficherpanier();
								document.body.scrollTop = 0;
								document.documentElement.scrollTop = 0;
								$('#mymodal').modal('show');
							}
							if(reponse == "0-1") {
								$('#mymodal_erreur_1').modal('show');
							}
							if(reponse == "0-2") {
								$('#mymodal_erreur_2').modal('show');
							}
							if(reponse == "0-3") {
								$('#mymodal_erreur_3').modal('show');
							}
							if(reponse == "0-4") {
								$('#mymodal_erreur_4').modal('show');
							}
							if(reponse == "0-5") {
								$('#mymodal_erreur_5').modal('show');
							}
							if(reponse == "0-6") {
								$('#mymodal_erreur_6').modal('show');
							}
							if(reponse == "0-7") {
								$('#mymodal_erreur_7').modal('show');
							}
							if(reponse == "0") {
								$('#mymodal_erreur').modal('show');
							}
						}
					});
				}
				$('#commander').click(function() {
					var nom = document.getElementById("nom").value;
					var prenom = document.getElementById("prenom").value;
					var adresse = document.getElementById("adresse").value;
					var cp = document.getElementById("cp").value;
					var ville = document.getElementById("ville").value;
					var pays = document.getElementById("pays").value;
					var email = document.getElementById("email").value;
					var adressepoint = document.getElementById("adressepoint").value;
					var cppoint = document.getElementById("cppoint").value;
					var villepoint = document.getElementById("villepoint").value;
					var commande = JSON.stringify(panier);
					var detail_livraison = document.getElementById("livraison-detail").innerHTML;
				    var calculs = document.getElementByID("calculs").innerHTML;
					var promotion  = document.querySelector('input[name=promotion]:checked').value;
					var prix_total = document.getElementById("prix_total").innerHTML;
					var remise = document.getElementById("remise").innerHTML;
					var nouveau_prix = document.getElementById("nouveau_prix").innerHTML;
					var prix_depart = document.getElementById("prix_depart").innerHTML;
					var total_qte_bas = document.getElementById("total_qte_bas").innerHTML;
					var message = encodeURIComponent(document.getElementById("message").value);
					var cb_Nom = document.getElementById("cb_Nom").value;
					var cb_ID = document.getElementById("cb_ID").value;
					var cb_Adresse = document.getElementById("cb_Adresse").value;
					var cb_CP = document.getElementById("cb_CP").value;
					var cb_VILLE = document.getElementById("cb_VILLE").value;
					var cb_PAYS = document.getElementById("cb_PAYS").value;
					console.log(detail_livraison);
					console.log(pays);
					console.log(cb_VILLE);
					console.log(calculs);
					commander(nom, prenom, adresse, cp, email, adressepoint, cppoint, villepoint, commande, prix_total, remise, nouveau_prix, prix_depart, total_qte_bas, message, ville, pays, detail_livraison,calculs,promotion,cb_ID, cb_Nom, cb_Adresse, cb_CP, cb_VILLE, cb_PAYS);
				});
				</script>

1 réponse

flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 187
15 août 2022 à 01:02

voici le problème je devais mettre ceci document.getElementById au lieu de 

document.getElementByID

source

If you have ever experienced the following error message using getElementById:

Uncaught TypeError document.getElementbyid is not a function

You will be glad to know that the fix is trivial. Pay attention to any lowercase letters in the method name. JavaScript is case-sensitive so the b and the start of every other word after get should be capitalized.

Correct use looks like the following:

document.getElementById("testUrl");
1