JAVASCRIPT- Appel fonction ds une fonction [Résolu/Fermé]

Signaler
Messages postés
72
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
28 juin 2010
-
Messages postés
72
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
28 juin 2010
-
Bonjour,

Sur ma page j'ai deux fonction javascript. Dans la deuxième fonction, j'ai besoin d'appeler la premiére.

function calculerTotal(p1){

blabla bla
blabla bla
blabla bla

}

function saisirValeur(){

bla bla bla
bla bla lba

//Appel de la 1er fonction
calculerTotal(p1);

}


Impossible d'appeler la premiére fonction, firefox me dit que total n'est pas une fonction.

Or la fonction calculerTotal marche correctement car je l'appelle dans la foulée lors de l'exécution de ma page et elle marche !

Existe t-il un mot clef pour déclarer une fonction publique si c'est sa ?

4 réponses

Messages postés
8
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
28 mars 2008
4
Déja tu devrais mettre var total=0 , ta variable n'est pas déclarée. Et tu as oublier un " dans ton appel ajax.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
8
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
28 mars 2008
4
Salut. les appels de fonctions marche directement en javascript. Il doit y avoir une erreur dans le code. Est ce que tu peux le montrer?
Messages postés
72
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
28 juin 2010
8
Voila tout ce qu'il y a dans ma balise SCRIPT.
C'est dans la troisième fonction 'rentrerValeur()' que j'appelle la première 'total()'.

<script>


////////////////////////////////////////////////////////////////////////
function total(i){

	//i=i-1;
	
	total=0;
	for(j=1;j<i;j++){
	
		id='montant'+j;
		//alert(document.getElementById(id).innerHTML);
		total =  total + parseInt(document.getElementById(id).innerHTML) ;
	
	}

	document.getElementById('montantTotal').innerHTML = total + ' €';
}
////////////////////////////////////////////////////////////////////////////
function changerFour(idFour){


document.location.href = 'creerCommandeFour.php?four='+idFour;


}
////////////////////////////////////////////////////////////////////////////
function rentrerValeur(i, type){

	if(type==true){
		fin = ' gr';
	}else{
		fin = ' ';
	}
	
	id='appro'+i;
	qte=prompt("Saisir la quantité à commander","");

	if(qte==null){
		//Rien
	}else{
		document.getElementById(id).innerHTML=qte+fin; 
                ///APPEL////
		total(document.getElementById('iteration').value);
	}

}
/////////////////////////////////////////////////////////////////////////////

function ajoutArticle(){

	ref=document.getElementById('ref').value;
	idFour=document.getElementById('idFour').value;
	iteration = document.getElementById('iteration').value;
	
	//Appeler une fonction AJAX///////////////////////////////////////////
	  if(window.XMLHttpRequest) // Firefox 
		xhr_object = new XMLHttpRequest();
			
		 else {
			if(window.ActiveXObject) // Internet Explorer 
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
			else { // XMLHttpRequest non supporté par le navigateur 
				alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
				return; 
			   }
			}
			
			//xhr_object.open("GET", "calculerPrix.php?idProd="+ref+'&grammes='+grammes,true);
			xhr_object.open("GET", "ajoutLigne.php?ref="+ref+"&idFour="+idFour+"&iteration="+iteration,true);
			xhr_object.send(null);
			
			xhr_object.onreadystatechange=function(){ 
			if(xhr_object.readyState == 4 && xhr_object.status == 200){ 
			eval(xhr_object.responseText); 
			}
			
		////////////////////////////////////////////////////////////////    
	
}
}

</script>
Messages postés
72
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
28 juin 2010
8
Tu m'a mis la puce à l'oreille en parlant de cette variable total.

En effet j'avais une fonction qui s'appelait total et une variable qui s'appelle total également, et à cause de sa ba sa foire.

Franchement Merci ! Bon wE :D