Addition javascript via formulaire
Résolu
b-boybaki
Messages postés
160
Date d'inscription
Statut
Membre
Dernière intervention
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
voila ma question :
je voudrais pouvoir ajout +1 à la valeur dans le formulaire de type texte je suis bloquer j'ai déjà essayer plein de solution mais aucun ne marche je desespère
<html>
<head>
<script type="text/javascript">
function calcul()
{
var nombre = document.form[0].a.value;
var total = total + nombre;
document.form[0].a.value = total;
}
</script>
</head>
<body>
<form>
<input type="text" id="a" name="relou" value="1" />
<input type="button" onclick="javascript:calcul('1')" value="+" />
</form>
</body>
</html>
je vois pas du tout comment faire
merci de votre aide
voila ma question :
je voudrais pouvoir ajout +1 à la valeur dans le formulaire de type texte je suis bloquer j'ai déjà essayer plein de solution mais aucun ne marche je desespère
<html>
<head>
<script type="text/javascript">
function calcul()
{
var nombre = document.form[0].a.value;
var total = total + nombre;
document.form[0].a.value = total;
}
</script>
</head>
<body>
<form>
<input type="text" id="a" name="relou" value="1" />
<input type="button" onclick="javascript:calcul('1')" value="+" />
</form>
</body>
</html>
je vois pas du tout comment faire
merci de votre aide
A voir également:
- Addition javascript via formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Addition excel - Guide
- Formulaire de reclamation instagram - Guide
- Telecharger javascript - Télécharger - Langages
12 réponses
Bonjour,
Est-ce réellement toi qui a codé ça ? Parce que c'est si simpliste que si tu as codé toi même ce que tu nous met, tu dois être en mesure de corrigé tes erreurs.
Enfin soit, ton problème est que tu n'incrémente pas la valeur de ton champ, donc tu ne risque pas de le voir grandir au fur et à mesure de tes clics.
Un code correct serait le suivant :
Ainsi si tu appelle la méthode avec un entier, la valeur de ton champ devrait être incrémentée du nombre passé en paramètre :
Code non testé, possible qu'il y ai des erreurs de frappe, mais l'idée est là et devrait fonctionner.
Est-ce réellement toi qui a codé ça ? Parce que c'est si simpliste que si tu as codé toi même ce que tu nous met, tu dois être en mesure de corrigé tes erreurs.
Enfin soit, ton problème est que tu n'incrémente pas la valeur de ton champ, donc tu ne risque pas de le voir grandir au fur et à mesure de tes clics.
Un code correct serait le suivant :
function increaseValue( theValue ) { var htmlElement = document.getElementById("a"); if ( htmlElement != null ){ htmlElement.value = Integer.parseInt(htmlElement.value) + theValue; } }
Ainsi si tu appelle la méthode avec un entier, la valeur de ton champ devrait être incrémentée du nombre passé en paramètre :
<input type="button" onclick="javascript:calcul('1')" value="+" /> OU <input type="button" onclick="javascript:calcul('12')" value="+" />
Code non testé, possible qu'il y ai des erreurs de frappe, mais l'idée est là et devrait fonctionner.
j'ai une question
theValue aura pour valeur javascript:calcul('12') ce que l'on a mis entre parenthese ???
sinon oui c'est moi qui est coder a l'aide de ce site
http://www.lehtml.com/js/forms.htm
theValue aura pour valeur javascript:calcul('12') ce que l'on a mis entre parenthese ???
sinon oui c'est moi qui est coder a l'aide de ce site
http://www.lehtml.com/js/forms.htm
ouki mais y'a un probleme si on met juste un seul + sa concatene
dc fau mettre un parseint a chake fois no ???
pcq si j'ai bien compri le parseint transforme de valeur de type texte en nombre ?
et autre question pourquoi tu as mis .value ici :
htmlElement.value
????
dc fau mettre un parseint a chake fois no ???
pcq si j'ai bien compri le parseint transforme de valeur de type texte en nombre ?
et autre question pourquoi tu as mis .value ici :
htmlElement.value
????
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
htmlElement fait référence à ton object de type text "a", donc si tu fais "htmlElement.value", tu récupère la valeur de ton élément texte.
htmlElement.value = Integer.parseInt(htmlElement.value) + 12
Integer.parseInt est pour s'assurer que le valeur soit numérique, de façon à l'additionner avec ta valeur d'ajout.
Ton champ étant de type texte, si tu ne parse pas, il y a des chances pour que ça se concatène au lieu de s'additionner comme tu l'as dit.
Par contre en paramètre il ne faut pas que tu le passe en tant que chaine de caractère, mais bien en numérique.
Sinon pour être sur et pouvoir passer le paramètre n'importe comment (chaine ou numérique), ajouter un parseInt sur le paramètre comme ceci :
htmlElement.value = Integer.parseInt(htmlElement.value) + Integer.parseInt(theValue);
htmlElement.value = Integer.parseInt(htmlElement.value) + 12
Integer.parseInt est pour s'assurer que le valeur soit numérique, de façon à l'additionner avec ta valeur d'ajout.
Ton champ étant de type texte, si tu ne parse pas, il y a des chances pour que ça se concatène au lieu de s'additionner comme tu l'as dit.
Par contre en paramètre il ne faut pas que tu le passe en tant que chaine de caractère, mais bien en numérique.
Sinon pour être sur et pouvoir passer le paramètre n'importe comment (chaine ou numérique), ajouter un parseInt sur le paramètre comme ceci :
htmlElement.value = Integer.parseInt(htmlElement.value) + Integer.parseInt(theValue);
ok je j'essay de faire sa si je trouve je te poseterai ma soluition tu me dira ce que t'en pense pcq je veux pas que sa soit le fouilli lol
Autant pour moi mes souvenirs ne sont plus aussi bons.
Ce n'est pas "Integer.parseInt(...)" mais "parseInt(...)" tout court qu'il faut utiliser.
Un court exemple qui fonctionne :
Ce n'est pas "Integer.parseInt(...)" mais "parseInt(...)" tout court qu'il faut utiliser.
Un court exemple qui fonctionne :
<script language="javascript"> function add ( theValue ){ var obj = document.getElementById("a"); if ( obj != null ){ obj.value = parseInt(obj.value) + parseInt(theValue); } } </script> Numero : <input type='text' id='a'/> <BR> <input type='button' value='+' onclick='add(12)';
sa ne marche pas il me met NaN =S
moi j'ai fait sa mais il ne marche que une fois, si je reclik sur le bouton il ne refait pas l'addition =S
<html>
<head>
<script type="text/javascript">
function calcul2(valeur)
{
var n = 1;
var n1 = 1;
var total = n + n1 + parseInt(valeur);
document.forms[0].a.value=total;
}
</script>
</head>
<body>
<form>
<input type="" name="a" value="1"/>
<input type="submit" onClick="javascript:calcul2('1');return(false)" value="+" />
</form>
</body>
</html>
j'ai même essayer de mettre sa :
var total = total + n + n1 + parseInt(valeur);
mais si je met sa il me met NaN
moi j'ai fait sa mais il ne marche que une fois, si je reclik sur le bouton il ne refait pas l'addition =S
<html>
<head>
<script type="text/javascript">
function calcul2(valeur)
{
var n = 1;
var n1 = 1;
var total = n + n1 + parseInt(valeur);
document.forms[0].a.value=total;
}
</script>
</head>
<body>
<form>
<input type="" name="a" value="1"/>
<input type="submit" onClick="javascript:calcul2('1');return(false)" value="+" />
</form>
</body>
</html>
j'ai même essayer de mettre sa :
var total = total + n + n1 + parseInt(valeur);
mais si je met sa il me met NaN
Ben, les résultats que tu obtiens me semble plutôt normaux.
Nul part tu ne récupère la valeur de ton champ comme je l'ai montré dans mon code, comment veux-tu donc qu'il s'incrémente au fil de tes click ?
Ton script fonctionne, seulement c'est toujours (et ce sera toujours) la même valeur qui est affichée.
Si tu met : var total = total + ...., effectivement tu obtiens "NaN" puisque 'total' n'est pas défini à l'intérieur de ton calcul (tu le déclare sur la même ligne comme le résultat de ton calcul)
Regarde bien ce que j'ai mis dans le code, récupère la valeur de ton champ et additionne la avec ton chiffre passé en paramètre, et là seulement ça fonctionnera.
Nul part tu ne récupère la valeur de ton champ comme je l'ai montré dans mon code, comment veux-tu donc qu'il s'incrémente au fil de tes click ?
Ton script fonctionne, seulement c'est toujours (et ce sera toujours) la même valeur qui est affichée.
Si tu met : var total = total + ...., effectivement tu obtiens "NaN" puisque 'total' n'est pas défini à l'intérieur de ton calcul (tu le déclare sur la même ligne comme le résultat de ton calcul)
Regarde bien ce que j'ai mis dans le code, récupère la valeur de ton champ et additionne la avec ton chiffre passé en paramètre, et là seulement ça fonctionnera.
sa y'est j'ai trouver lol
enfaite c'était vraimen tout bête :
<html>
<head>
<script type="text/javascript">
function calcul2(valeur)
{
document.forms[0].a.value= parseInt(document.forms[0].a.value,10)+parseInt(valeur,10);
}
</script>
</head>
<body>
<form>
<input type="text" name="a" value="1"/>
<input type="button" onclick="calcul2('1');" value="+" />
<input type="button" onclick="document.forms[0].a.value='1';" value="mise a zero"/>
</form>
</body>
</html>
merci pour ton aide
enfaite c'était vraimen tout bête :
<html>
<head>
<script type="text/javascript">
function calcul2(valeur)
{
document.forms[0].a.value= parseInt(document.forms[0].a.value,10)+parseInt(valeur,10);
}
</script>
</head>
<body>
<form>
<input type="text" name="a" value="1"/>
<input type="button" onclick="calcul2('1');" value="+" />
<input type="button" onclick="document.forms[0].a.value='1';" value="mise a zero"/>
</form>
</body>
</html>
merci pour ton aide