Détecter le changement d'une variable ?

Le
Pierre Goiffon
Une question simple : tout comme on a un onChange sur un champ input,
nous aurions besoin d'un équivalent pour une variable.

Je suppose que c'est possible en construisant un objet, mais je ne vois
pas vraiment par quel bout attaquer si vous aviez des pistes Merci !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal PONCET
Le #16717291
Pierre Goiffon a écrit :
Une question simple : tout comme on a un onChange sur un champ input,
nous aurions besoin d'un équivalent... pour une variable.



Bonjour,

Question préalable, je crois : qu'est-ce qui provoque le changement de
valeur de la variable ?

Pascal
SAM
Le #16719211
Pierre Goiffon a écrit :
Une question simple : tout comme on a un onChange sur un champ input,
nous aurions besoin d'un équivalent... pour une variable.

Je suppose que c'est possible en construisant un objet, mais je ne vois
pas vraiment par quel bout attaquer... si vous aviez des pistes... Merci !



mavariable == 'tzimtzimtointoin'

window.onload = function() { setInterval(
function() {
if(mavariable != 'tzimtzimtointoin') alert('Au s'cours');
}, 50);
};
}


Mébon ... sans le contexte ...


JS :

mavariable = '';

function auBoulot() {
var E = document.forms[1].getElementsByTagName('input');
for(var i=0, n=E.length; i<n; i++)
if(E[i].type == 'text' && E[i].value == mavariable) {
alert('pas bon');
E[i].focus();
return false;
}
if(document.forms[0].repere.value == '') {
alert('fixer un repère');
document.forms[0].repere.focus();
return false;
}
return true;
}

HTML :

<form action="#" onsubmit="return false;">
<p>Définir le repère:
<input type=submit value="changer"></p>
</form>
<form action="javascript:alert('ok')" onsubmit="return auBoulot()">
<p><input>
<p><input>
<p><input>
<p><input>
<p><input type=submit>
</form>


--
sm
Bobe
Le #16740471
Pierre Goiffon nous a dit le 04.09.2008 14:56:
Une question simple : tout comme on a un onChange sur un champ input,
nous aurions besoin d'un équivalent... pour une variable.

Je suppose que c'est possible en construisant un objet, mais je ne vois
pas vraiment par quel bout attaquer... si vous aviez des pistes... Merci !



Utiliser un setter ?

Myobject.__defineSetter("myvar", function(val) { ... });
ou (sans doute plus standard)
Myobject.myvar = setter function(val) { ... }

pas sûr à 100% de la syntaxe pour le deuxième.

(Salut au passage; ça faisait un baille que je venais plus sur les ng)

--
Aurélien Maille
Bobe
Le #16740461
Bobe nous a dit le 07.09.2008 06:21:

Myobject.__defineSetter("myvar", function(val) { ... });




Et zut. __defineSetter__ bien sûr.

--
Aurélien Maille
SAM
Le #16744711
Bobe a écrit :
Bobe nous a dit le 07.09.2008 06:21:
Myobject.__defineSetter("myvar", function(val) { ... });




Et zut. __defineSetter__ bien sûr.




Mébon ... pas trop d'exemples.

--
sm
Pierre Goiffon
Le #16752891
SAM wrote:
Bobe a écrit :
Bobe nous a dit le 07.09.2008 06:21:
Myobject.__defineSetter("myvar", function(val) { ... });




Et zut. __defineSetter__ bien sûr.





Mébon ... pas trop d'exemples.



C'est une piste intéressante, merci !
SAM
Le #16753001
Pierre Goiffon a écrit :
SAM wrote:
Bobe a écrit :
Bobe nous a dit le 07.09.2008 06:21:
Myobject.__defineSetter("myvar", function(val) { ... });




Et zut. __defineSetter__ bien sûr.





Mébon ... pas trop d'exemples.



C'est une piste intéressante, merci !




Si tu arrives à en faire qque chose je serais intéressé de voir.
(j'ai du mal à capter le truc)

--
sm
Publicité
Poster une réponse
Anonyme