begin process at 2012 05 29 17:48:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Redonner le focus à une Iframe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Redonner le focus à une Iframe

mardi 6 mai 2008 à 10:54:35 | Redonner le focus à une Iframe

caviar

Saluté tout le monde ! vous avez la forme ? héhé ... nan c'est pas parce qu'on demande de l'aide qu'il ne faut pas s'enquerir de la forme de ses "helpeurs" potentiels ...
bon vala ... je vous explique c'est pas très complexe (quoique).
J'utilise le framework prototype et un editeur wisiwig "spaw editor" (très joli d'ailleurs je vous le conseille) ...
mon idée est de sauvegarder à intervale régulier le contenu tappé dans l'editeur...
pour ça je suis obligé de récupérer le contenu d'une textarea... donc jusque là ça va j'ai réussi à me démerder...
sauf que les éditeurs wisiwig utilisent une Iframe pour le mode "mise en page" et quand je récupère le contenu de la textarea (en fait le code html de ce qui est dans la fameuse Iframe) eh bien mon iframe perds le focus ...
donc si je ne regarde pas et que je continue à écrire eh bien vu que j'ai perdu le focus j'ecris dans le vide ...
l'idée est donc de trouver le moyen de redonner le focus à mon Iframe et de positionner le curseur à la fin (ou mieux là ou j'en étais avant la sauvegarde automatique) ...
sauf qu'une Iframe n'est pas une textArea et que je ne sais pas comment elle est considérée comme telle en mode edition :(
bref neeeed help !
merci par avance à vous
@++

mardi 6 mai 2008 à 11:05:18 | Re : Redonner le focus à une Iframe

bultez

Membre Club
Bonjour,
    le problème n'est pas de rendre le focus
         ??.focus(); ( avec ?? différent ie et autres navigateurs ) fonctionne très bien,
         mais de repositionner le curseur là où il était.

                Cordialement            Bul         [mon Site]     [M'écrire]
mardi 6 mai 2008 à 11:24:08 | Re : Redonner le focus à une Iframe

caviar

ouaip ... je pense que c'est plus complexe que ça ...
en fouillant le code de l'aditeurs j'ai trouvé cette fonction

// focus
SpawEditor.prototype.focus = function()
{
  var obj = (this.isInDesignMode())?this.getPageIframe(this.getActivePage().name):this.getPageInput(this.getActivePage().name);
  if (obj.contentWindow) // gecko
    obj.contentWindow.focus();
  else
    obj.focus();
}

mais je ne sais pas comment l'utiliser depuis "l'extérieur" ....

dans leur code j'ai des trucs du genre
  //editor.getPageIframe(editor.active_page.name).focus();

mais moi je ne connais même pas le nom de mon objet créé puisque tout est instancié depuis une class php ....
disons que c'est pas trop prévu pour bidouiller direct en JS au départ ... mais là  il me manque plus que ça pour avoir une appli nikel :(:(
mardi 6 mai 2008 à 12:14:46 | Re : Redonner le focus à une Iframe

bultez

Membre Club

>>je ne connais même pas le nom de mon objet créé puisque tout est instancié depuis une class php
    euh ? c'est pas parce que c'est créé en php qu'on ne connais pas le nom d'un objet !
>> ouaip ... je pense que c'est plus complexe que ça ...
    pour rendre le focus ? non, non , c'est assez simple,
             sauf différence IE / FF, comme souvent !  

    si pour l'iframe     id = name = "Saisie"

    switch (navigator.appName)   
    {    //         ===============================
        case     "Microsoft Internet Explorer":
        //         ===============================
            Fen=window.frames['Saisie'];
            Champ=Fen.document;
            break;
        //               =========
        default:    //     sinon
        //               =========
            Champ=document.getElementById('Saisie').contentDocument;
            Fen=document.getElementById('Saisie').contentWindow;
            break;   
    }
    Fen.focus();


    mais encore une fois... faut repositionner le curseur !



                Cordialement            Bul         [mon Site]     [M'écrire]
mardi 6 mai 2008 à 14:34:26 | Re : Redonner le focus à une Iframe

caviar

J'ai trouvé le moyen de récupérer le code que je veux sans perdre le focus ...
le pb est que sous firefox ça me renvoie le curseur au début du texte ... au lieu de le laisser à sa position actuelle :(
sous IE ça marche...
j'ai trouvé des fonctions pour positionner le curseur mais apparament ça ne marche pas :(

function Cursor_SetPos( where_, pos_){
    //-- Recup l'Objet
    var Obj = document.getElementById( where_);
    if( Obj){
        Obj.focus();
        if( typeof Obj.selectionStart != "undefined"){
            Obj.setSelectionRange( pos_, pos_);
        }
        else{ // IE and consort
            var Chaine = Obj.createTextRange();
            Chaine.moveStart('character', pos_);
            //-- Deplace le curseur
            Chaine.collapse();
            Chaine.select();
        }
        //-- Retour valeur Reelle placee
        return( Cursor_GetPos( where_, pos_));
    }
}

sur la base de ce que m'as donné comme code

 Cursor_SetPos(Fen, '50');

Je sais pas si c'est un bug lié à FF ou à spaw mais je commence à perdre espoir ...
J'ai posé des question sur leur forum mais sans réponses ... p'tet que mon anglais est trop mauvais ... lol
++ et merciiii !!!!



mardi 6 mai 2008 à 14:44:06 | Re : Redonner le focus à une Iframe

caviar

j'ai testé le setSelectionRange mais apparament ça ne marche pas sur une iframe non ?
ça ne marche que sur des objets de type champ de texte ou textarea ?


mercredi 14 mai 2008 à 09:15:34 | Re : Redonner le focus à une Iframe

caviar

yebah ... Je suis toujours dans la mouise avec ce pb... personne n'a d'idée ?
un p'tit lien vers mon post sur leur forum officiel
http://forums.solmetra.com/viewtopic.php?t=8189



Cette discussion est classée dans : textarea, iframe, contenu, focus, redonner


Répondre à ce message

Sujets en rapport avec ce message

Imprimer le contenu d'une iframe [ par Seren ] Hello tout le monde!la forme?j'ai un tit prob javascript: j'aimerais imprimer le contenu d'une iframe. J'ai essayé de faire un .print() sur l'iframe s passage contenu d'iframe à php [ par kmchen ] Bonjour,le code:appel postform<iframe src="pageDep wysiwyg - envoi de texte formaté à php [ par WhiteMagus ] Bonjour (eh oui, c'est déjà le matin).Je me permets de vous écrire suite à un problème survenu lors de la création d'un éditeur wysiwyg. Tout est ok c Passer une variable entre deux composants... [ par WhiteMagus ] Salut.Je repète un différent post qui n'a pas eu de réponse. Mais c'est vraiment important et très urgent. Si quelqu'un voit une soltion à mon problèm contenu d'un textarea dans des 'input text' [ par SauCisS ] Bonjour a tousMon problème est simple, peut-t-on me dire comment faire pour mettre le contenu d'une zone de texte (texarea) dans des zones de texte si Ajustement d'une page à la taille imposée par un iframe [ par pmils ] Le problème posé est le suivant: J'ai une page HTML de contenu dynamique. Cette page contient une iframe dont le contenu est généré par un script php. transfert données textarea vers iframe (xmlhttprequest) [ par David_monchy ] Bonjour à tous,En ce moment, je crée un chat, et je suis confronté à un gros problème:j'utilise la méthode xmlhttprequest, pour éviter le "clignotemen enregistrer contenu textarea [ par gatita_dev ] bonjour,je veux savoir s'il y a une façon d'enregistrer le contenu d'un textarea en tant que page html sans ouvrir la boite de dialogue"enregistrer so Bouton sauvegarder [ par Jarod1980 ] Bonjour,Je recherche un exemple de code source permettant de sauvegarder le contenu d'un textarea dans un fichier HTML. J'ai regardé un peu les exempl page to iframe [ par abdoulax ] Bonjour,J'ai une page ouverte. Je voudrai modifier complement cette page afin de faire de mettre son contenu dans un iframe.par exemple on aurait test


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales