11548 sujets

JavaScript, DOM et API Web HTML5

Salut^^

Après plusieurs heures infructueuses de recherches dans mon code, je viens vous voir avec un petit problème.

J'ai un code javascript qui permet d'incrémenter (ou de décrémenter) deux valeurs différentes et qui tient compte de deux seuils, eux aussi différents. Mon code marche très bien en +1... mais pas avec +5.

Dans mon HTML :
<input type='button' value='-1' onclick='calculmoins(1,"quantite1",0,"total",400,0)'></input>
<input type='text' name='quantite1' id='quantite1' size='3' value='0'></input>
<input type='button' value='+1' onclick='calculplus(1,"quantite1",16,"total",400,6409)'></input>
<input type='button' value='+5' onclick='calculplus(5,"quantite1",3,"total",400,6409)'></input>

<p class='centrer'>Vous avez 6409 yus. Total : <strong><span id='total'>0</span> yus</strong>


Le Javascript :
function plus(saut,NomChamp,max)
{
	var Valeur=document.getElementById(NomChamp).value
	var NewValeur=Number(Valeur)+Number(saut);
	if(NewValeur<=max)
	{
		document.getElementById(NomChamp).value=NewValeur;
	}
}

function calculplus(saut,NomChamp1,MaxChamp,NomChamp2,valeur,MaxTotal) //incrémente une valeur + calcul un total
{
	//NomChamp1 = nom du champs de texte où la valeur est rentrée
	//MaxChamp = maximum de cette valeur
	//NomChamp2 = nom du champs où est inscrit le total
	//valeur = valeur du produit
	//saut = quantité d'incrémentation (x+saut)
	//MaxTotal = valeur maximale du total
	var soustotal=document.getElementById(NomChamp2).innerHTML;
	var total=Number(soustotal)+(Number(valeur)*saut);
	if(total<=MaxTotal)
	{
		plus(saut,NomChamp1,MaxChamp);
		document.getElementById(NomChamp2).innerHTML = total;
	}
}



Ca se modifie très bien dans le span, mais dans le input, ça update bien avec 1 comme saut, mais pas avec 5 (ni aucun autre saut)
Modifié par Lothindil (12 Nov 2011 - 10:36)