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 :

focus avec iframe


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut focus avec iframe
    Bonjour.

    il m'a ete demande de reprendre un code deja existant.
    je dois placer le curseur dans mon input.
    j'avais donc pense a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <BODY onload="document.mon_form.mon_champ.focus();">
    cependant, cela ne fonctionne pas avec des frames :/
    #1 : dois-je mettre le onload dans la page contenant les frames (haut.php et bas.php) ou dans la page consernee (bas.php) ?
    #2 : que dois-je changer dans mon onload pour qu'il pointe au bon endroit ?

    ps : j'ai essaye des syntaxes genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="document.\"bas.php\".mon_form.mon_champ.focus();"
    mais rien a faire

    => je debute en JS
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  2. #2
    Expert éminent

    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
    Par défaut
    Bonjour,
    Citation Envoyé par Doksuri Voir le message
    #1 : dois-je mettre le onload dans la page contenant les frames (haut.php et bas.php) ou dans la page consernee (bas.php) ?
    c'est un choix fonctionnel : à toi de voir si tu veux un effet uniquement au rechargement de la page mère, ou également en cas de rechargement de la frame.

    A partie de la page mère (qui contient l'iframe) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.frames['name_de_la_frame'].document.getElementById('id_element').focus();
    A partir de la frame elle-même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('id_element').focus();
    A+

  3. #3
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    Salut,

    merci de t'etre penche sur mon probleme... malheuresement, tes solutions ne fonctionnent pas :/

    (ca me gonfle les frames.... )
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    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
    Doksuri,
    les syntaxes de Ebzz sont correctes ...
    Si tu n'arrives pas à les implémenter c'est que tu ne nous dis pas tout

    tes iframes n'ont pas de name ou d'id ?
    le form est nommé, les éléments ont des names ...

    bref un peu plus de code nous aiderait ..
    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 !

  5. #5
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Si tu n'arrives pas à les implémenter c'est que tu ne nous dis pas tout

    tes iframes n'ont pas de name ou d'id ?
    le form est nommé, les éléments ont des names ...

    bref un peu plus de code nous aiderait ..
    bah, heu.. si je vous ai tout dis >_<

    les noms de mes frames
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <FRAME NAME="haut" SRC="haut.php">
    <FRAME NAME="bas" SRC="bas.php">
    un peu de code... il n'y en a pas 10k lignes xD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <BODY onload=document.frames['bas'].document.getElementById('message').focus();>
    (j'ai essaye plusieurs syntaxe en rapport avec le message de E.Bzz)

    mon formulaire est dans bas.php
    il s'appel name="textpost"
    et l'element a focus s'appel name="message"
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  6. #6
    Expert éminent

    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
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    => je debute en JS
    Mais là, c'est un problème de syntaxe HTML
    Les attributs HTML (tels que le code des évènements) doivent être entourés de double quottes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <BODY onload="document.frames['bas'].document.getElementById('message').focus();">
    EDIT : en complément (au cas où ...) : l'id "message" doit être unique dans la page (celle de la frame).

    A+

  7. #7
    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
    tu as des frames, pas des iframes ....
    le onload est sur quelle page ???
    la page de framset ??????
    une page framée .... donc =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    top.frames['nopmframe'].document.getElementById('nomelet').focus()
    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 !

  8. #8
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    oui, je sais, je les avaient mit.. juste que je les ai oublie en recopiant

    mon formulaire est dans bas.php
    il s'appel name="textpost"
    et l'element a focus s'appel name="message"

    edit :
    top.frames['nopmframe'].document.getElementById('nomelet').focus()
    ca ne fonctionne pas non plus avec top.frames...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  9. #9
    Expert éminent

    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
    Par défaut
    name="message"
    Il s'agit d'id !
    A-t-il aussi un ?
    A+

  10. #10
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    bon.. la je ne comprends pas... j'ai fais un test...et il ne fonctionne pas...
    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <HTML>
     <HEAD>
      <TITLE>test</TITLE>
     </HEAD>
      <FRAMESET ROWS="29,379" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>
       <FRAME NAME="haut" SRC="haut.php">
       <FRAME NAME="bas" SRC="bas.php">
      </FRAMESET>
     <BODY onload="top.frames['bas'].document.getElementById('message').focus();">
      <noframes>
      <body>
      </body>
      </noframes>
    </HTML>
    page haut.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <HTML>
     <HEAD>
      <TITLE>test haut</TITLE>
     </HEAD>
     <BODY bgcolor="#C0C0C0">
      test
     </BODY>
    </HTML>
    page bas.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <HTML>
     <HEAD>
      <TITLE>test bas</TITLE>
     </HEAD>
     <BODY bgcolor="#C0C0C0">
      <FORM method="POST" action="message.php" name="textpost" id="textpost">
       <INPUT type="text" name="message" value="" size="50" id="message"/>
       <INPUT type="submit" name="bt_poster" value="OK" style="display:none"/>
      </FORM>
     </BODY>
    </HTML>
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  11. #11
    Expert éminent

    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
    Par défaut
    C'est ma faute ! (SpaceFrog avait relevé le schmilblick)
    Comme tu utilises des frames (via frameset), et non des iframes, tu ne peux pas avoir de body dans la page parente => tu es obligé d'appeler ce code dans le onload du body de la page de la frame (2° syntaxe de ma 1° réponse, donc)

    A+

  12. #12
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    O-M-G !!!!
    enfin....un grand merci a vous 2, je vais pouvoir continuer
    laisse tomber le bazar...
    *vite... du php pour oublier cette galere *
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. focus avec iframe
    Par jicaygg dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 03/12/2010, 08h21
  2. [HTML]Probleme avec iframe
    Par rancid dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/03/2006, 18h24
  3. Problème de focus avec une TTreeView
    Par Rustine dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/10/2005, 18h12
  4. probleme avec IFRAME
    Par adilou1981 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 24/08/2005, 09h34
  5. [C#] Changer le focus avec la touche return
    Par sblanc74 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 01/10/2003, 18h38

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