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 :

calcul en JS


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut calcul en JS
    Bonjour tout le monde,

    J'aurait besoin d'aide sur un prtit scrip en java. Je voudrait entree une valeur dans un objet text et la resortir dans un autre objet text, mais multiplier par 1000.

    Voila ce que j'ai deja fait:

    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
     <HTML>
    <HEAD>
     
     
    <SCRIPT LANGUAGE="JavaScript">
     
    function calcul()
    {  
      var X; 
     
      X = document.test.app1.getvalue;
     
    document.app2.setvalue(X * 1000) 
     
     
    }
    </SCRIPT>
    </HEAD>
    <BODY>
     
    <FORM  name="test">
     
    <INPUT TYPE="text" NAME="app1" SIZE=10 >
     
     
    <INPUT TYPE="button" VALUE="Calcul" onClick="javascript:calcul()">
     
      <INPUT TYPE="text" NAME="app2" SIZE=10 >
     
     
     
    </FORM>
    </BODY>
    </HTML>
    mais sa me dit que "document.app2 est null ou n'est pas un objet"
    pourquoi?

    merci de vos reponses

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    • écris les balises HTML en minuscules ;
    • appelle les éléments par leur id (l'attribut name n'est pas recommandé dans ton cas) ;
    • ne confonds pas java et javascript (getValue et setValue ressemble à du Java) ;
    • Le contenu des input est du texte (même si c'est une valeur numérique), il faut donc procéder à un petit test avant de réaliser le produit.



    Code html : 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
    35
    36
    37
    38
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function calcul()
    {
     var valeur1 = document.getElementById("idIn").value;
     
     if (isNaN(valeur1))
     {
       alert("Entrez une valeur numérique !!");
     }
     else
     {
       document.getElementById("idOut").value = parseFloat(valeur1*1000);
     }
     
    }
     
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <input type="text" value="" id="idIn" size="20" maxlength="10" />
    <input type="text" value="" id="idOut" size="20" maxlength="10" readonly="readonly" />
    <input type="button" value="Calculer" onclick="calcul()"/>
     
     
    </body>
     
    </html>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    Merci beaucoup Auteur c'est vraiment sympa de ta par.

    Par contre une ou deux question de plus, pourquoi il faut mettre les balise en minuscules?
    A quoi servent les / a la fin des inputs

    Sinon sans vouloir abuser, le bute final est de donner une valeur a un applet mais avec les id je voit pas comment faire.

    Voila ton code avec l'applet rajouté

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function calcul()
    {
     var valeur1 = document.getElementById("idIn").value;
     
     if (isNaN(valeur1))
     {
       alert("Entrez une valeur numérique !!");
     }
     else
     {
       document.getElementById("idOut").value = parseFloat(valeur1*1000);
     }
     
    }
     
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <input type="text" value="" id="idIn" size="20" maxlength="10" />
     
    <input type="button" value="Calculer" onclick="calcul()"/>
     
      <applet
          codebase ="../applets/"
          archive ="s7api.jar, s7util.jar, s7gui.jar, s7applets.jar"
          code ="de.siemens.simaticnet.itcp.applets.S7PutApplet.class"
         id ="idOut"
          mayscript
          width ="0"
          height ="0"
          hspace ="0"
          vspace ="0"
          align ="top">
            <param name="RACK" value="0">
            <param name="SLOT" value="2">
            <param name="LANGUAGE" value="en">
            <param name="VARFORMAT1" value="W">
            <param name="VARAREA1" value="0x83">
            <param name="VAROFFSET1" value="0">
            <param name="VARNAME1" value="Var_Name">
            <param name="VARTYPE1" value="0x04">
            <param name="VARSUBAREA1" value="0">
            <param name="VARNUM" value="1">
            <param name="BACKGROUNDCOLOR" value="0xFFFFFF">
            <param name="EDIT" value="false">
          </applet>
     
     
    </body>
     
    </html>
    Voila j'ai fait quelque essai mais sa marche pas

    encore merci d'avance

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par lenomad
    Par contre une ou deux question de plus, pourquoi il faut mettre les balise en minuscules?
    A quoi servent les / a la fin des inputs
    ce sont des recommandations du W3C : cf. www.w3.org
    voir également :
    http://g-rossolini.developpez.com/tu.../web-debutant/
    http://xhtml.developpez.com/

    Sinon sans vouloir abuser, le bute final est de donner une valeur a un applet mais avec les id je voit pas comment faire.
    attention, un input n'est pas une applet... Chaque élément de ta page web a ses attributs. Ce qui est valable pour un élément ne l'est pas forcément pour un autre.

    Que souhaites-tu faire exactement ? Changer un paramètre de ton applet ? Lequel ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    Ok merci pour les infos, mais je suis debutant c'est pour sa

    Sinon le but final est de prendre la valeur de idInt, de la mutiplier par 1000 et de mettre l'applet à cette valeur.
    La je vien de faire des tests et j'arrive recopier la valeur de idInt dans l"applet en faisant comme sa:

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function calcul()
    {
     var valeur1 = document.getElementById("idIn").value;
     
     if (isNaN(valeur1))
     {
       alert("Entrez une valeur numérique !!");
     }
     else
     {
       document.idOut.setvalue(valeur1) ;
     }
     
    }
     
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <input type="text" value="" id="idIn" size="20" maxlength="10" />
     
    <input type="button" value="Calculer" onclick="calcul()"/>
     
      <applet
          codebase ="../applets/"
          archive ="s7api.jar, s7util.jar, s7gui.jar, s7applets.jar"
          code ="de.siemens.simaticnet.itcp.applets.S7PutApplet.class"
         name ="idOut"
          mayscript
          width ="350"
          height ="35"
          hspace ="0"
          vspace ="0"
          align ="top">
            <param name="RACK" value="0">
            <param name="SLOT" value="2">
            <param name="LANGUAGE" value="en">
            <param name="VARFORMAT1" value="W">
            <param name="VARAREA1" value="0x83">
            <param name="VAROFFSET1" value="0">
            <param name="VARNAME1" value="Var_Name">
            <param name="VARTYPE1" value="0x04">
            <param name="VARSUBAREA1" value="0">
            <param name="VARNUM" value="1">
            <param name="BACKGROUNDCOLOR" value="0xFFFFFF">
            <param name="EDIT" value="false">
          </applet>
     
     
    </body>
     
    </html>
    Par contre quand je rajoute la multiplication pas 1000 ben sa marche pas

    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
     
    function calcul()
    {
     var valeur1 = document.getElementById("idIn").value;
     
     if (isNaN(valeur1))
     {
       alert("Entrez une valeur numérique !!");
     }
     else
     {
       document.idOut.setvalue(valeur1*1000) ;
     }
     
    }
     
    </script>
    Moi je voit pas pourquoi peut etre que toit si

    merci

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.idOut.setvalue(parseFloat(valeur1)*1000)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    Non sa marche pas
    c'est bizard non?

    Encore plus bizard

    Si je fait sa:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.idOut.setvalue(valeur1+3)
    Et je tape 3 dans pour idIn, bens sa fait 33
    3+3=33 c'est des cacul à la Vandamme sa non?

  8. #8
    Membre émérite
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Par défaut
    3+3=33
    tu fais de la concaténation de string en javascript. Cf un post précédent dans ce thread, où on t'invite à caster ton string en numérique avant d'effectuer un calcul.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.idOut.setvalue(valeur1+3)
    ça correspond à quoi ton "idOut" dans ta page html?
    si je ne me trompe pas, c'est le nom de ton applet....donc document.idOut.setvalue ne sera peut-être pas très efficace.
    Quel est le paramètre de ton applet que tu souhaites modifier?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    Quel est le paramètre de ton applet que tu souhaites modifier?
    Ben je ne sais pas, moi j'ai toujours utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.idOut.setvalue(la valeur)
    Et sa marche

    Sinon sa veut dire quoi ?
    tu fais de la concaténation de string en javascript

  10. #10
    Membre émérite
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Par défaut
    concaténation string javascript : http://www.google.fr/search?q=concat...ing+javascript
    Et sa marche
    j'ai du mal à voir ce qui marche (ou pas), tu as un lien où on peut voir ta page?

    PS : juste pour info : on écrit "ça marche" et "bizarre"

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    désolé pour les fautes

    sinon pour la page ben je peut pas, car c'est un serveur industriel et je ne sais pas comment le connecter au web.Le seul truc que je pourrais faire c'est vous donner acces à mon pc avec LogMein au pire.
    Enfin mon bute final n'est pas l'addition mais la multiplication.

Discussions similaires

  1. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09
  2. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35
  5. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45

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