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 :

Lier la valeur d'une balise HTML (input , div.innerHTML, etc.) à celle d'une variable js


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2011
    Messages : 45
    Points : 57
    Points
    57
    Par défaut Lier la valeur d'une balise HTML (input , div.innerHTML, etc.) à celle d'une variable js
    Bonjour,

    Je ne sais pas s'il est possible de cabler une balise HTML d'affichage à l'écran (div, input, etc..), de manière qu'elle affiche la valeur d'une variable javascript,cet affichage suivant les changements de valeurs de la variable..
    Merci de votre réponse.

    Caplande

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    Bonjour,
    l'exposé de ta question n'est pas des plus clair mais aucune raison de ne pas arriver à mettre à jour le contenu d'une balise fonction de la valeur d'une variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // 1st cas SPAN par exemple
    document.getElementById('id_de_la_balise').innerHTML = valeur_variable;
    // 2nd cas INPUT par exemple
    document.getElementById('id_de_la_balise').value = valeur_variable;

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2011
    Messages : 45
    Points : 57
    Points
    57
    Par défaut
    Merci pour cette réponse. Elle ne correspond malheureusement pas à ma demande, qui est certainement un peu floue.

    En effet, je souhaite établir un lien UNE FOIS ET UNE SEULE entre une variable js et une balise HTML de manière telle que lorsque la variable change de valeur, la valeur affichée par la balise change en conséquence SANS AUCUNE AUTRE INSTRUCTION que celle de changement de la valeur de la variable.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    Il n'y a pas d'opération du Saint Esprit en javascript, il te faudra bien à un moment ou à un autre faire la modification du contenu de la balise.

    De quelle nature est ta variable, comment est elle modifiée, par qui et où.

    Tu peux envisager de mettre un observateur sur cette variable via un setInterval par exemple.

  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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Si tu ne recherches pas la compatibilité et que tu ne vises que Chrome (voire Opera), tu peux toujours utiliser Object.observe() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var obj = {
      nb: 42
    };
    Object.observe(obj, function(changes){
      document.getElementById('ton_element').innerHTML = obj.a;
    }, ['update']);
    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 du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2011
    Messages : 45
    Points : 57
    Points
    57
    Par défaut
    setInterval peut apporter une réponse à ma question. Je viens de trouver une autre solution qui est la suivante et qui fonctionne:
    Elle consiste à créer un objet (dans mon exemple ci-dessous: watch) qui a pour attribut la variable à observer (maVar) et une méthode (setMaVar(nlleVal)).Il suffit de s'astreindre à valoriser l'attribut maVar via la méthode setMaVar et, au travers de cette méthode tout devient possible, y compris l'actualisation de la valorisation de la valeur de la balise.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <body>
    	<button onclick="clicBouton()">Cliquez moi !</button>
    	<div id="monChamp"></div>
    </body>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var watch = new Object();
    watch.maVar = null;
    watch.setMaVar = function(nlleVal){
    	this.maVar = nlleVal;
    	console.log(document.getElementById('monChamp').innerHTML = nlleVal);
    };
    watch.setMaVar(12345);
    var clicBouton = function(){
    	console.log("Bouton cliqué!");
    	watch.setMaVar(67895);
    };

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment récupérer une valeur dans une balise html?
    Par skandaboy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/03/2011, 14h38
  2. Changer la valeur d'une balise html
    Par fafoula dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/08/2008, 10h17
  3. Comment faire une balise <html:text> avec valeur dynamique
    Par chriscoolletoubibe dans le forum Struts 1
    Réponses: 13
    Dernier message: 14/05/2007, 22h13
  4. [XSLT]introduire la valeur d'un noeud dans une balise html
    Par delma dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 19/10/2006, 22h08
  5. Récuperer la valeur d'une balise html
    Par spynux dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 28/02/2006, 09h40

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