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 :

Interception d'une modification d'input par le JS


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut Interception d'une modification d'input par le JS
    Bonjour � tous,

    Je me heurte au probl�me suivant :
    J'ai deux input dont l'un (visible) est aliment� par l'autre (de type hidden). Le champ cach� pouvant �tre mis � jour par une fonction js.
    Il faut alors (chose que je n'arrive pas � faire) que je r�percute cette modification dans mon champ visible.

    Y a t-il un moyen d'intercepter d'une modification d'input faite par une fonction JS (ex : document.monInput.value="toto") ?

    Si oui quelqu'un pourrais-il me mettre sur la piste, car je n'ai pour le moment absolument rien trouv� qui marche.

    Merci d'avance � tous.
    TOF

  2. #2
    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
    euh, c'est une blague ou quoi?

    si tu fais:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.monInput.value="toto"
    pourquoi tu ne fais pas dans la foul�e:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.monInput_visible.value="toto"
    ?

  3. #3
    R�dacteur/Mod�rateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par d�faut
    Bonjour,

    Attention,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.nomForm.nomInput.value="tata";
    A+.

  4. #4
    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
    Oui andry, ce n'est pas faux

  5. #5
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.forms['nomForm'].elements['nomInput'].value="tata";
    mais on va pas chipoter
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  6. #6
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Merci � tous pour vos r�ponses mais c'est un peu plus compliqu� sinon je n'aurais pas poser la question

    En fait je ne peux pas toucher la fonction JS m'�tant � jour ces champs. Il faudrait que sur le changement de mon input hidden se d�clenche un appel js pour mettre � jour mon champ visible.

    Ce qui me pose probl�me c'est que je n'arrive pas a d�clencher cette �v�nement sur mon input hidden car j'ai l'impression que son changement de valeur (effectu� par le JS que je ne peut pas toucher) n'engendre aucun �v�nement. Est-ce vrai ? si oui comment contourner le probl�me ?

  7. #7
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonsoir,
    il est vrai qu'il est bien dommage que l'�v�nement onchange ne se d�clenche pas lors d'une modification de la value via le javascript.

    Il existe deux m�thodes pour arriver � tes fins, la bourrin et la filoute

    - la m�thode dite du bourrin, tu fais une v�rification p�riodique via un setInterval.

    - la m�thode dite du filou, tu d�tournes la fonction et tu la remplaces par la tienne qui fait d'abord appel � celle ci, ce qui te permet de rajouter du code perso.

    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
    38
    39
    <!DOCTYPE html>
    <html>
    <head>
    <title>[Version Filoutte...]</title>
    </head>
    <body>
    <input id="cache" type="text" value="undefined" disabled>
    <select onchange="changeValeur( this);">
      <option value="un">un</option>
      <option value="deux">deux</option>
      <option value="trois">trois</option>
      <option value="quatre">quatre</option>
      <option value="cinq">cinq</option>
    </select>
     
    <br><input id="modif" type="text" value="">
    <script type="text/javascript">
     
    // variable
    var oSrce = document.getElementById('cache');
    var oDest = document.getElementById('modif')
     
    // la fonction que je ne peux pas modifier
    function changeValeur( obj){
      oSrce.value = obj.value;
    }
    // sauvegarde la fonction
    var oldChange = changeValeur;
     
    // redefini la fonction
    changeValeur = function(){
        // appel de l'ancienne
        oldChange.apply( null, arguments);
        // ajout mon code
        oDest.value = oSrce.value;
      };
    </script>
    </body>
    </html>
    la fonction non modifiable est simuler par le onchange sur le SELECT, et le INPUT hidden est ici en readonly

  8. #8
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Merci pour cette r�ponse mais la mise en place en cette solution pour moi ne fonctionne pas car la fonction que je ne peut pas touch�e fait une redirection

    je crois que je suis coinc�

  9. #9
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Citation Envoy� par drumtof Voir le message
    Merci pour cette r�ponse mais la mise en place en cette solution pour moi ne fonctionne pas car la fonction que je ne peut pas touch�e fait une redirection
    j'ai du mal � comprendre l'int�r�t de modifier la valeur d'un champ si une fois la mise � jour du champ hidden une redirection est r�alis�e.

    - Si c'est toi qui traite la redirection, je penses que oui � priori, je ne vois pas l'int�r�t de 2 champs pour une m�me valeur.
    - Demande � l'auteur du script de modifier sa fonction...

    Mais je pense que quelque chose m'�chappe

  10. #10
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Cette histoire de redirection me laisse perplexe moi aussi. Sinon, j�ai pens� � la myst�rieuse m�thode watch mais c�est un truc sp�cifique � Mozilla.

    En tout cas, comme la propri�t� value est modifi�e programmatiquement, la technique watch fonctionne, je viens de tester.

    Drumtof, si �a t�int�resse, tu peux essayer de mettre en �uvre la solution cross-browser propos�e sur Stackoverflow, en gardant � l�esprit que, de toute fa�on, �a ne marchera pas sur les versions d�IE inf�rieures � 8.

    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  11. #11
    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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Pour IE, tu as toujours l'�v�nement onafterupdate
    Ceci dit drumtof, pour que l'on puisse t'aider efficacement, il serait bon d'�tre plus pr�cis quant au probl�me rencontr� et l'environnement dans lequel tu te trouve...
    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

  12. #12
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Merci � tous pour vos r�ponses et dsl de mon impr�cision. J'int�gre un progiciel de GED avec des �volutions sp�cifiques du client et j'essaie de toucher un minimum le progiciel pour la portabilit� dans les versions sup�rieures.

    Mais ici dans mon cas pr�cis je n'aurais pas le choix de toucher le progiciel.

    Merci pour votre aide et votre soutiens tjrs aussi efficace.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 25/11/2011, 20h57
  2. R�ponses: 5
    Dernier message: 30/11/2010, 17h04
  3. R�ponses: 2
    Dernier message: 29/09/2009, 17h21
  4. regexp = extraire value d'une balise input par son "name"
    Par NoobX dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 18/06/2008, 16h03
  5. remplir un Input par rapport � une BD
    Par pmboutteau dans le forum ASP
    R�ponses: 10
    Dernier message: 24/08/2005, 10h35

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