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 :

donner le focus sur un champ lorsque un popup est ouvert


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut donner le focus sur un champ lorsque un popup est ouvert
    bonjour

    j'ai une page(jsp) quand je clique sur un botton(dans cette page ) un popup s'ouvre pour récupérer des données
    et les mettre dans ma page, ensuite lorsque je clique sur un autre botton(dans le meme page)j'exècute une fonction en javascript
    qui marche bien sauf la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('champ').focus();// champ se trouve dans ma page
    j'ai essayé d'enlever le popup ainsi que le botton qui l'ouvre
    et la commande marche bien

    alors le problème qui se pose c'est comment donner le focus sur ce champ de cette page tout en gardant le popup
    ouvert

    merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour
    Citation Envoyé par john_wili Voir le message
    alors le problème qui se pose c'est comment donner le focus sur ce champ de cette page tout en gardant le popup ouvert
    Ben oui, forcément : un seul élément à l'écran étant susceptible de recevoir le focus à un instant T, il doit forcément être dans la fenêtre située au 1° plan.
    Dit autrement : tu ne peux pas donner le focus à un élément d'une fenêtre ouverte en arrière plan.

    Donc pour répondre au "problème" cité ci-dessus, le seul moyen est de passer la pop en arrière-plan (toujours ouverte, donc), et la fenêtre contenant l'élément cible du focus au 1° plan.

    Ce n'est pas un problème de code ou de navigateur, mais de vocabulaire et de logique

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    Donc pour répondre au "problème" cité ci-dessus, le seul moyen est de passer la pop en arrière-plan (toujours ouverte, donc), et la fenêtre contenant l'élément cible du focus au 1° plan.
    et comment on peut faire ça ??

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par john_wili Voir le message
    et les mettre dans ma page, ensuite lorsque je clique sur un autre botton(dans le meme page)j'exècute une fonction en javascript
    Si "la même page" est la page principale, il suffit que le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('champ').focus();
    soit la dernière instruction de la fonction. En tous cas, qu'il n'y ait pas ensuite d'intruction donnant le focus à la pop.

    Si l'appel est fait de la pop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    opener.document.getElementById('champ').focus();
    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  5. #5
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    quand j'ai fait ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('champ').focus();
    y'a pas le focus sur le champs

    et quand j'ai fait ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    opener.document.getElementById('champ').focus();
    y'a une l'erreur javascript suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    'opener.document' a la valeur null ou n'est pas un objet
    ???

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Relis ce que j'ai écrit et dit clairement :
    est-ce de la même page ?
    est-ce la dernière instruction de ta fonction ?

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Points : 491
    Points
    491
    Par défaut
    il y a des événements qui permettent de connaitre l'état d'une page web, à savoir si elle est visible ou pas

    https://developer.mozilla.org/En/Listening_to_events

    C'est pas sur que se soit compatible pour IE...

    bye

Discussions similaires

  1. [Toutes versions] Mettre le focus sur un champ dont le nom est contenu dans une variable
    Par possible924 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/04/2015, 21h32
  2. Focus sur un champ de formulaire au chargement de la page
    Par feanor11 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 01/11/2006, 20h43
  3. donner le focus sur la fenetre d application active
    Par nick974 dans le forum Delphi
    Réponses: 1
    Dernier message: 02/07/2006, 12h11
  4. mettre le focus sur le champ approprié
    Par discogarden dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/07/2005, 16h59
  5. donner le focus sur un composant dont la fenetre est invisib
    Par yoghisan dans le forum Composants VCL
    Réponses: 12
    Dernier message: 17/06/2005, 16h27

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