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 :

Utiliser une variable au lieu de perdre du temp?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Par d�faut Utiliser une variable au lieu de perdre du temp?
    Bonjour, je cherche une alternative � une perte de temp consid�rable...
    Est t'il possible d'utiliser une variable pour remplacer "document.a.b1.value"?

    Exemple
    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
    <HTML><HEAD><TITLE> New Document </TITLE>
    <script language="JavaScript">
     
    function calculer() {
     
    var a1 = document.a.a1.value;
    var b1 = document.a.b1.value;
    if(a1=10){document.a.b1.value=5;}
    if(a1<10){document.a.b1.value=6;}
    if(a1>10){document.a.b1.value=7;}
     
    }
     
    </script></HEAD><BODY>
    <form name=a>
    <INPUT TYPE="text" NAME="a1" SIZE=1 value="">
    <INPUT TYPE="text" NAME="b1" SIZE=1 value="">
    <INPUT TYPE="button" VALUE="Trouver la solution" OnClick="calculer();" >
    </form></BODY></HTML>
    donc dans ce style si (mais il ne fonctione 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
    18
    <HTML><HEAD><TITLE> New Document </TITLE>
    <script language="JavaScript">
     
    function calculer() {
     
    var a1 = document.a.a1.value;
    var b1 = document.a.b1.value;
    if(a1=10){b1=5;}
    if(a1<10){b1=6;}
    if(a1>10){b1=7;}
    }
     
    </script></HEAD><BODY>
    <form name=a>
    <INPUT TYPE="text" NAME="a1" SIZE=1 value="">
    <INPUT TYPE="text" NAME="b1" SIZE=1 value="">
    <INPUT TYPE="button" VALUE="Trouver la solution" OnClick="calculer();" >
    </form></BODY></HTML>
    J'ai fait diff�rent test mais pas moyen de trouver je suis vraiment perdu...

  2. #2
    Membre tr�s actif
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 235
    Par d�faut
    pour rester simple ... sache que les primitives sont pass�es par valeur et les objets par r�f�rence... (ce n'est pas 100% exacte mais en gros c'est +- cela...)
    document.a.a1.value -> value est un resultat 'final' une valeur concrete (une chaine, un numeric, ...)
    document.a.a1 -> ce n'est pas une valeur concret, c'est un objet qui contient des propri�t�es comme par exemple value.


    quand � ton probl�me voici une solution

    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
     
    <HTML><HEAD><TITLE> New Document </TITLE>
    <script language="JavaScript">
     
    function calculer() {
     
    var A = document.a.a1;
    var B = document.a.b1;
    if(A.value=10){B.value=5;}
    if(A.value<10){B.value=6;}
    if(A.value>10){B.value=7;}
    }
     
    </script></HEAD><BODY>
    <form name=a>
    <INPUT TYPE="text" NAME="a1" SIZE=1 value="">
    <INPUT TYPE="text" NAME="b1" SIZE=1 value="">
    <INPUT TYPE="button" VALUE="Trouver la solution" OnClick="calculer();" >
    </form></BODY></HTML>
    bon voila ce n'est pas racourci � 100% mais c'est d�j� moins long...

  3. #3
    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,

    et tu peux remplacer les name par les id car :
    1-c'est une recommandation du W3C
    2-cela �vite les �critures � rallonge du genre objet1.objet2.objet3.etc
    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
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
     
    function calculer() {
     
    var A = document.getElementById("a1");
    var B = document.getElementById("b1");
    if(A.value=10){B.value=5;}
    if(A.value<10){B.value=6;}
    if(A.value>10){B.value=7;}
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <form id="a">
    <input type="text" id="a1" size="1" value="">
    <input type="text" id="b1" size="1" value="">
    <input type="button" value="Trouver la solution" onclick="calculer();" >
    </form>
     
    </body>
     
    </html>
    par ailleurs, pr�viligie les minuscules dans les balises HTML.

  4. #4
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    tout a fait d'accord
    j'aout qu'utiliser un nom la valuer d'un id comme variable globale pose des pb et qui et fortement d�conseill� de le faire.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    function test() {
      alert(field1.value);
    }
     
    <input id="field1" .../>
    on trouve souvent ce genre de chose sur certains navigateur field1 est bien d�finit dans la fonction test et dans d'autre non

    mais pire on trouve parfois des affactation � des variables globales qui pourte le nom de champs et l� tous les navigateurs n'ont pas un comportement tres homog�nes ceux qui ne d�finissement pas de variable global associ� au champs n'ont pas de difficullt� ce sont des objet diff�rents
    mais pour ceux qui le font soit on a une erreur car on ne peut pas affecter de valeur � l'objet soit la variable change de type et ne r�f�rence plus l'objet.

    donc prudence.
    et tout �tat de cause toujours utiliser getElementById
    a+jyt

  5. #5
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    exemple en page

    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
    <script type="text/javascript">
     
    function calculer(f){
     
    	somme=parseInt(f[0].value)-10;
     
    	switch(somme<0){
    		case true : f[1].value=6;break;
    		default : f[1].value= !somme ? 5 : 7;
    	}
     
     
    }
     
    </script>
     
    </head>
     
    <body>
     
     
    <form id="f">
    	<p>
    		<input type="text" size="1" id="n" />
    		<input type="text" readonly="readonly" size="1" id="r" />
    	</p>
    	<p>
    		<input type="button" value="calcul" onclick="calculer(this.form.elements)" />
    	</p>
    </form>

Discussions similaires

  1. R�ponses: 3
    Dernier message: 03/05/2006, 15h08
  2. [PHP-JS] utiliser une variable php dans du javascript
    Par kcizth dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 06/02/2006, 11h53
  3. [FLASH MX2004] Utiliser une variable dans le code
    Par arnolem dans le forum Flash
    R�ponses: 25
    Dernier message: 02/12/2005, 16h37
  4. [curseurs] utiliser une variable comme nom de champ
    Par Christian31 dans le forum MS SQL Server
    R�ponses: 2
    Dernier message: 09/09/2005, 14h12
  5. [XSL] utiliser une variable pour nom d'�l�ment
    Par luta dans le forum XSL/XSLT/XPATH
    R�ponses: 13
    Dernier message: 07/09/2004, 13h58

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