IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

l'addition en javascript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    �tudiant
    Inscrit en
    Mai 2007
    Messages
    131
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Par d�faut l'addition en javascript
    Bonsoir
    c'est surement une question de d�butant mais lorsque j'essai d'additionner deux nombre situ�s dans deux zone de texte avec le symbole '+' il me les concat�ne...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    <input type="button" name="plus" value="+" onclick="
    this.form.resultat.value = (this.form.nb1.value + this.form.nb2.value) ; ">
    exple : avec 1 et 2 le resultat est 12
    que dois-je faire??
    merci d'avance

  2. #2
    Membre chevronn�
    Inscrit en
    Novembre 2006
    Messages
    336
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par d�faut
    Utilise parseInt() pour convertir les strings de tes input en int

  3. #3
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Par d�faut Addition JS sous Internet Explorer = NaN
    Bonsoir,

    A propos des additions sous JS, je ne vois pas d'o� vient mon probl�me. Le code ci-dessous additionne le nombre sous Firefox mais pas sous IE (NaN) :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <script type="text/javascript">
     
    function totalite()
    {
    var p0 = document.getElementById('points0').value;
    var p1 = document.getElementById('points1').value;
    var p2 = document.getElementById('points2').value;
    var p3 = document.getElementById('points3').value;
    var p4 = document.getElementById('points4').value;
    var p5 = document.getElementById('points5').value;
    var p6 = document.getElementById('points6').value;
    var p7 = document.getElementById('points7').value;
    var p8 = document.getElementById('points8').value;
    var p9 = document.getElementById('points9').value;
    document.getElementById('total').value=parseInt(p0,10)+parseInt(p1,10)+parseInt(p2,10)+parseInt(p3,10)+parseInt(p4,10)+parseInt(p5,10)+parseInt(p6,10)+parseInt(p7,10)+parseInt(p8,10)+parseInt(p9,10);
    //même souci avec : document.getElementById('total').value=parseInt(p0)+parseInt(p1)+parseInt(p2)+parseInt(p3)+parseInt(p4)+parseInt(p5)+parseInt(p6)+parseInt(p7)+parseInt(p8)+parseInt(p9);
     
    } 
     
    </script>
     
    <select name="points[0]" id="points0" onChange="totalite();">
                                <option  >0</option>
                                <option  >1</option>
                                <option  >2</option>
                                <option  >3</option>
                                <option  >4</option>
                                <option  >5</option>
                              </select>
     
    //idem pour les 9 autres selects : id="points1",  id="points2", etc... 
     
    <input name="total" type="text" id="total" size="3" readonly="readonly">
    Une id�e svp ?

  5. #5
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var p0 = document.getElementById('points0').options[0].value;
    ...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Par d�faut
    Cool, merci, comme �a, �a ne marche ni sur l'un ni sur l'autre...

    Hum, une autre id�e dans la manche ?

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster d�butant perp�tuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Webmaster d�butant perp�tuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par d�faut addition javascript
    Question de d�butant : je voudrais faire une addition ; j'ai vu qu'il fallait utiliser la fonction parseInt(), mais m�me avec celle-ci, il me concat�ne les 2 variables ; quelle est l'explication ? Voici mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    total=19;
    total=parseInt(total,10)+parseInt(form.total_npn.value,10);
    total=parseInt(total,10)+parseInt(form.total_npa.value,10);
    form.total.value=total;

  8. #8
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut
    Salut,

    Pourquoi faire un parseInt(total), alors que total est d�j� une valeur ?
    Et tu n'est pas oblig� de pr�ciser "10", le syst�me sera d�cimal par d�faut (et ... c'est pas plus mal ainsi ! ). Enfin, sauf si tu l'as fait expr�s, l'acc�s au formulaire est pr�c�d� du document:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    total=19;
    total = total + parseInt(document.form.total_npn.value);
    total = total + parseInt(document.form.total_npa.value);
    document.form.total.value=total;
    Et tu peux remplacer tes total = total + ... par total += ...

    ERE

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    70
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Par d�faut
    Ceci dit, m�me si le script peut �tre optimis�, il fonctionne tel quel. Je suis all� au bout de l'exemple pour pouvoir le tester � travers une fonction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script language="javascript" type="text/javascript">
    function cocos(form)
    {
    total=19;
    total=parseInt(total,10)+parseInt(form.total_npn.value,10);
    total=parseInt(total,10)+parseInt(form.total_npa.value,10);
    form.total.value=total;
    }
    </script>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    <form name="form" method="post" action="">
      <input name="total_npn" type="text" id="total_npn" value="22">
      <input name="total_npa" type="text" id="total_npa" value="34">
      <input type="text" name="total" id="total">
      <input name="cocof" type="button" value="Go" onClick="cocos(this.form);">
    </form>

  10. #10
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut
    S�r.
    Si l'objectif c'est de faire un test ou un exercice de style alors ok, c'est fonctionnel. Sinon ...

    ERE

  11. #11
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster d�butant perp�tuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Webmaster d�butant perp�tuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par d�faut
    Bonjour,

    je n'arrive pas � trouver la logique du comportement actuel, mais je voudrais qu'� chaque fois que l'utilisateur modifie un champ de son formulaire, �a mette � jour le total.
    Pour se faire, j'ai des champs de ce type :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     <input size="2" maxlength="10"
     value="" name="q_npn" id="q_npn"  type="text" onkeyup="calc_total_npn(this.form)">
    avec la fontion js suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    function calc_total_npn(form) {
    document.form.total_npn.value=document.form.q_npn.value*document.form.px_npn.value;
    total+=parseFloat(document.form.total_npn.value);
    document.form.total.value=total;
    }
    et au lieu de m'afficher le total, �a m'affiche d'abord le double, puis si j'efface le champ et que je remet la valeur, �a m'incr�mente de nouveau le total du double du total interm�diaire (en d�but de script, la variable "total" est initialis�e � 0). Je pr�cise que le total interm�diaire (ici "document.form.total_npn.value") est correct. O� est mon bug ?

  12. #12
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    Citation Envoy� par emmanuel.remy Voir le message
    Et tu n'est pas oblig� de pr�ciser "10", le syst�me sera d�cimal par d�faut
    Petit rectificatif :
    il faut pr�ciser le "10".
    Le syst�me devrait �tre d�cimal par d�faut, mais h�las ce n'est pas le cas

    Suivant le premier caract�re de la valeur � convertir, elle est dans certains cas interpr�t�e en octale : il s'agit d'un bug.
    Et apr�s coup, ce n'est pas �vident � d�celer (certaines capillarit�s s'en souviennent encore ).
    Il faut donc pr�ciser la base "10" dans les diff�rentes fonctions math�matiques (parseInt(), parseFloat() etc.) sous peine de surprises ...

    A+

  13. #13
    Inactif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    117
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 117
    Par d�faut
    Citation Envoy� par emmanuel.remy Voir le message
    Salut,

    Pourquoi faire un parseInt(total), alors que total est d�j� une valeur ?
    Et tu n'est pas oblig� de pr�ciser "10", le syst�me sera d�cimal par d�faut
    NON et encore NON, parseInt('08'), te reverra 0, il faut obligatoirement passer la base en param�tre, car ce n'est pas par d�faut la base d�cimale, mais en fonction de la t�te de la string, s'il voit 0 en premier il renvoit de l'octal par exemple.
    parseInt('010') -> 8

    et un conseil, il faut faire valider son code avec jslint et suivre les recommandations de l'outil. cela �vite bien des soucis

  14. #14
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster d�butant perp�tuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Webmaster d�butant perp�tuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par d�faut
    Comme j'y tenais beaucoup, j'ai pos� la m�me question sur un autre forum et on m'a donn� une solution

    O� est pass� le bouton "r�solu" ?

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    26
    D�tails du profil
    Informations personnelles :
    �ge : 64
    Localisation : France, Pyr�n�es Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 26
    Par d�faut
    Ca serait sympa de la publier la r�ponse parce que le lien a disparu et moi aussi, j'y tiens beaucoup � ces additions (Cf http://www.developpez.net/forums/d95...ries-debutant/ post #20

Discussions similaires

  1. Addition en JavaScript
    Par bilcosby dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 15/12/2012, 11h15
  2. Aide Addition JavaScript
    Par Energy7 dans le forum G�n�ral Java
    R�ponses: 2
    Dernier message: 09/12/2011, 14h59
  3. Addition de 3 champs en javascript
    Par loan33 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 18/12/2010, 14h08
  4. Afficher le resultat d'une addition de values en javascript
    Par vbnetnet dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 01/02/2010, 13h29
  5. addition en javascript
    Par mimagyc dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 23/05/2008, 09h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo