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 :

Javascript et le DataBinding?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Par d�faut Javascript et le DataBinding?
    C'est de nouveau moi

    Je vais peut-�tre demander un truc fou mais soit...
    Est-il possible de faire du DataBinding en JavaScript? Pour un peu mieux explicit� ce que je veux faire, voici ce que je veux:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    <script type="text/javascript">
    var myVar = 'toto';
    </script>
     
    <input type="text" value="javascript:myVar;" />
    Et avec �a, je voudrai que d�s que je modifie myVar, mon input prenne la nouvelle valeur (et vice versa si possible).

  2. #2
    Membre exp�riment� Avatar de marts
    Inscrit en
    F�vrier 2008
    Messages
    233
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 233
    Par d�faut
    2 moyens :

    - la fonction watch, mais ce n'est pas standard (n'existe que sur Fx)
    exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script type="text/javascript">
    	o={myVar:'toto'}
    	o.watch('myVar',changePropertieValue);
    	function changePropertieValue(propertie,oldValue,newValue)
    	{
    		document.getElementById('aTextField').value=newValue;
    	}
    </script>
    <input id="aTextField" type="text" value="toto" />
    <input type="button" value="changer pour 'titi'" onclick="o.myVar='titi';">
    - reproduire le fonctionnement de watch
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <script type="text/javascript">
    	o={myVar:'toto'}
    	function changePropertieValue(propertie,oldValue,newValue)
    	{
    		document.getElementById('aTextField').value=newValue;
    	}
     
    	function Watcher(object,propertie,handler)
    	{
    		this.object=object;
    		this.propertie=propertie;
    		this.handler=handler;
     
    		this.oldValue=object[propertie];
    		this.timer=null;
    	}
    	Watcher.prototype.start=function(){this.timer=setInterval(run(this),1000);}
    	Watcher.prototype.stop=function() {clearInterval(this.timer);}
     
    	function run(watcher)
    	{
    		return function()
    		{
    			if (watcher.object[watcher.propertie]!=watcher.oldValue)
    			{
    				watcher.handler(watcher.propertie,watcher.oldValue,watcher.object[watcher.propertie]);
    				watcher.oldValue=watcher.object[watcher.propertie];
    			}
    		};
    	}
     
    	watcher=new Watcher(o,'myVar',changePropertieValue);
    	watcher.start();
    </script>
    <input id="aTextField" type="text" value="toto" />
    <input type="button" value="changer pour 'titi'" onclick="o.myVar='titi';">
    Le probl�me c'est de trouver le juste intervalle pour le timer. S'il est trop court les ressources risquent d'�tre monopolis�es, et s'il est trop long la r�activit� sera m�diocre et les changements rapides et successifs risquent de passer inaper�us.

  3. #3
    Membre �prouv�
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Par d�faut
    LA premi�re m�thode est int�ressante je trouve, dommage pour la limitation � Fx...

    La seconde est plus emb�tante, j'avais pens� � un timer mais je trouve �a un peut violent (pour ce que je veux faire).

    Je pense qu'il doit y avoir des solutions annexes en passant par des sortes de Setter et Getter. Je vais essayer de regarder la chose mais je risque de sortir de mon projet et de perdre pas mal de temps pour 2 variables associ� � 2 input

  4. #4
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par d�faut
    Salut,

    Je ne comprends pas bien, c'est peut-�tre d� � la complexit� de ton code, mais pourquoi ne pas simplement ex�cuter une fonction mettant � jour le champ texte quand myVar est susceptible d'�tre modifi�e?

  5. #5
    Membre �prouv�
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Par d�faut
    Salut,

    Parce que c'est la solution de facilit�

    Non en r�alit�, dans mon pr�sent �a n'a pas un int�r�t �norme, mais je suis de nature curieux. Et le DataBinding en js serait � mon avis un atout extra pour r�aliser des tout un tas de choses.

    Mais au final je pense jouer sur des m�thodes de modifications comme tu le proposes, avec un petit gestionnaire d'objets abonn�s � la variable.

Discussions similaires

  1. Les meilleurs livres pour apprendre le JavaScript
    Par vermine dans le forum Livres
    R�ponses: 23
    Dernier message: 10/06/2019, 18h58
  2. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    R�ponses: 21
    Dernier message: 17/04/2009, 17h14
  3. Construire chemin sur bouton avec �vt Javascript
    Par Ph. B. dans le forum XMLRAD
    R�ponses: 4
    Dernier message: 27/05/2003, 10h26
  4. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    R�ponses: 2
    Dernier message: 06/05/2003, 14h24
  5. JavaScript de v�rification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    R�ponses: 6
    Dernier message: 26/02/2003, 13h48

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