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 :

Traquer le changement de position et de visibilité d'un champ


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut Traquer le changement de position et de visibilité d'un champ
    Bonjour,

    J'ai créé un code Javascript qui créé un DIV juste en dessous d'un élément INPUT d'un formulaire.
    Grosso-modo le code est le suivant (grâce à la méthode expliquée dans la FAQ) :

    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
     
    function displayAlarm(field, message) {
        // Create the message box.
        var fieldPosX = getPositionLeft(field);
        var fieldPosY = getPositionTop(field);
        var msg = document.createElement("div");
        msg.id = field.id + "_message";
        msg.innerHTML = message;
        msg.style.position = "absolute";
        msg.style.left = fieldPosX + 5;
        msg.style.top = fieldPosY + 22;
        msg.style.display = "block";
        msg.style.border = "solid 1px black";
        msg.style.backgroundColor = "#FFFFCC";
        msg.style.padding = "0 5 0 5";
        document.body.appendChild(msg);
    }
    Ca marche très bien.

    Seul problème : Si le champ INPUT se "déplace" dans la page, ou s'il est caché, alors mon DIV ne "suit" pas le champ INPUT.
    Je m'explique : Supposons que ma page contienne un toggle panel qui est situé au dessus de mon INPUT. Si l'utilisateur ferme ce panneau, alors forcément la page se rétrécit, et mon INPUT se "déplace" vers le haut de la page.
    De même, si mon INPUT se trouve dans un onglet, et que l'utilisateur clique sur un autre onglet, mon INPUT devient invisible, mais mon DIV reste affiché.

    Existe-t'il donc un moyen de "traquer" les modifications de position et de visibilité de mon champ INPUT, pour l'appliquer également à mon DIV ?

    Merci
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  2. #2
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    Il y a pas vraiment de moyen de "traquer" les modifications de position et de visibilité d'un champ (enfin pas a ma connaissance)

    Il y a la possibilité de pas mettre un absolute mais je pense que ce sera trop complexe à gérer (voir ingérable)

    Il y a une autre solution qui serait de créer une fonction qui vérifie tout changements sur le champs est qui se relance toute les centième de seconde par exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setInterval(laFonction(), 100);
    Je vois pas mieux

  3. #3
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    Prends le problème à l'envers, si ta div subit des modifications, elle les répercutera sur son contenu.
    Modifie ton script toggle pour modifier la div et pas l'input ou le reste du contenu.

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par d-Rek Voir le message
    Prends le problème à l'envers, si ta div subit des modifications, elle les répercutera sur son contenu.
    Modifie ton script toggle pour modifier la div et pas l'input ou le reste du contenu.
    En fait c'est un peu ce que je pensais faire.
    Le problème c'est que le HTML créé pour les onglets ou les toggle panels sont des composants JSF, et donc je ne gère pas le HTML généré.
    Toutefois ces composants JSF offrent la possibilité de définir du code Javascript pour différents événements (onhide, onshow par example). Cela dit, il me faudra faire l'ajout à chacun de ces composants, et je n'ai donc pas de solution "générique".
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

Discussions similaires

  1. changement de position d'un div
    Par visqueu dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/07/2010, 14h10
  2. Changement de position d'un menu vertical.
    Par Powerdark94 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/04/2009, 22h23
  3. réduction/changement de position des éléments lors du recadrage de la fenetre
    Par emirdagli dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 20/11/2008, 10h58
  4. Créer un bouton sans changement de position si insertion de ligne
    Par asayeh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/04/2008, 14h20
  5. Changement de position d'un controle
    Par fredppp dans le forum Framework .NET
    Réponses: 1
    Dernier message: 17/05/2007, 08h10

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