11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous !

Je suis actuellement en train de développé une petite page avec laquelle j'ai plusieurs articles. J'ai utilisé cette petite fonction pour incrémenter la quantité du produit ou inversement à l'aide d'un bouton + et - .

<script language="javascript"> 
                          function majQuantite(qte, champ) 
                          { 
                          quant = document.getElementById("bts70w").value; 
                          quantite = parseInt(quant) + parseInt(qte); 
                          if (quantite < 0) {quantite = 0;} 
                          if (quantite > 9) {quantite = 9;} 

                          document.getElementById("bts70w").value = quantite; 
                          } 
                      </script>


Mon problème est que j'ai plusieurs articles donc plusieurs ID et je souhaite je pas utiliser de BDD pour éviter tout problème de sécurité.

Une idée ?

Cordialement AweSome
Administrateur
Il serait préférable de désigner l'élément sans son ID, par exemple "l'input suivant mon bouton -, ou l'input précédant mon bouton +"

En jQuery on peut l'écrire assez rapidement :

$(".boutonplus").on("click",function() {
  var valeur = $(this).prev("input").val();
  $(this).prev("input").val(valeur+1);
});


$(".boutonmoins").on("click",function() {
  var valeur = $(this).next("input").val();
  $(this).next("input").val(valeur-1);
});


Avec

<input type="button" class="boutonmoins" value="-">
<input type="text" value="1337">
<input type="button" class="boutonplus" value="+">


(en très gros)
Modifié par dew (14 Sep 2013 - 11:06)
Voici mon code
upload/51463-exemple.jpg

Mon problème est que je voudrais posé qu'une seul fois mon script pour tous ces input !

Mais c'est vrai que l'id reste moins propre que ta solution dew.

Quelqu'un a une idée pour tous mes petits input ? Smiley smile
Super ! Mais il reste un problème ... Je ne sais pas coder le JQuery --'

Serais t'il impensable d'avoir un petit morceau de code tout fais ? Smiley smile