begin process at 2012 05 30 00:01:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Problème de compatibilité

 > 

.selectionStart dans un Iframe


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

.selectionStart dans un Iframe

jeudi 5 avril 2007 à 13:16:48 | .selectionStart dans un Iframe

bultez

Membre Club





Bonjour à toutes et à tous,

je ne parviens pas à utiliser .selection??? dans un iframe ( avec FF/M-Meleon... donc )

<body onload="init();">
 <iframe    style="    width:98%;
                        height:40%;
                        border:0;
                        background-color:#FFFFDD;"
            name="saisie"
            id="saisie"></iframe>
 <script type="text/javascript">
    var Fen,Champ;
    function init()
    {
        Fen=document.getElementById('saisie').contentWindow;
        Champ=document.getElementById('saisie').contentDocument;
        Champ.designMode='on';
        Fen.focus();
    }
    function siFF()
    {
        var tmp = document.getElementById('saisie');   // erreurs
        var tmp=Fen;                                   //    "
        var tmp=Champ;                                 //    "   ...
        // j'ai essayé pas mal d'autres choses, mais je ne trouve pas !

   
        alert(tmp.selectionEnd); // par exemple !
        //=======*************
    }
</script>
<input type="button"
        onclick="siFF()"
        value="Affiche">
</body>


si vous savez ce serait sympa de me le dire.
il faut faire autrement ?
merci d'avance.


Cordialement        Bul     [mon Site]     [M'écrire]

jeudi 5 avril 2007 à 13:20:34 | Re : .selectionStart dans un Iframe

bultez

Membre Club
j'ai oublié de préciser que le but du jeu
c'est de remplacer ces caractères sélectionnés par "autre chose".
avec IE on ferait : sel = Champ.selection.createRange();
                               sel.text="tout ce qu'on veut";      pour donner une idée.

Cordialement        Bul     [mon Site]     [M'écrire]

jeudi 5 avril 2007 à 15:40:23 | Re : .selectionStart dans un Iframe

FREMYCOMPANY

Code:


function getFrameWindow(iframe) {
    return iframe.window?iframe.window:iframe.contentWindow;
}

function getFrameDocument(iframe) {
    return getFrameWindow(iframe).document;
}


jeudi 5 avril 2007 à 16:16:26 | Re : .selectionStart dans un Iframe

bultez

Membre Club
je suppose en liaison avec la source que tu as déposée...

Cordialement            Bul     [mon Site]     [M'écrire]

jeudi 5 avril 2007 à 16:54:35 | Re : .selectionStart dans un Iframe

bultez

Membre Club



mince, mes messages ont disparus ?

je remet alors !
en utilisant le script mis par FremyCompany ici : http://www.javascriptfr.com/codes/DOCUMENT-SELECTION-POUR-FF-FIREFOX_42090.aspx


<Script     Type="Text/JavaScript"
            Src="fremy.js"></Script>
<body onload="init();">
 <iframe    style="    width:98%;
                        height:40%;
                        border:0;
                        background-color:#FFFFDD;"
            name="saisie"
            id="saisie"></iframe>
 <script type="text/javascript">
    function init()
    {
         Fen=document.getElementById('saisie').contentWindow;
        Champ=document.getElementById('saisie').contentDocument;
        Champ.designMode='on';
        Fen.focus();
    }
function getFrameWindow(iframe)
{
    return iframe.window?iframe.window:iframe.contentWindow;
}
function getFrameDocument(iframe)
{
    return getFrameWindow(iframe).document;
}       
    function siFF()
    {
        var iframeWindow=getFrameWindow(document.getElementById('saisie'));
        var iframeSelection = iframeWindow.document.selection
        if (!iframeSelection)
        { iframeSelection=new SelectionObject(iframeWindow); }
        var iframeRange=iframeSelection.createRange();
        alert(iframeRange.text);        // affiche "undefined"
        alert(iframeRange.text);        // affiche "no selection"
        iframeRange.text="remplace";
    }
</script>
<input type="button"
        onclick="siFF()"
        value="Affiche">
</body>




Cordialement                Bul         [mon Site]         [M'écrire]

jeudi 5 avril 2007 à 17:10:44 | Re : .selectionStart dans un Iframe

PetoleTeam

Membre Club

B
ien le Bonjour The Bultez
Alors ce projet avance...

Faire tout simplement
var O_Edit = document.getElementById("saisie");
var szSelect = O_Edit.contentDocument.getSelection();

voir ce lien et les sous liens mais je penses que cela est déjà fait
;0)
jeudi 5 avril 2007 à 17:26:21 | Re : .selectionStart dans un Iframe

FREMYCOMPANY

Bon ben voici un exemple concret de mon code avec un iframe ;-)
<html>
    <head>
        <script src="document.selection.js"></script>
        <script><!--
            var frame, frameWindow, frameDocument, frameSelection;
            function loadIframe() {
                if (getFrameDocument(document.getElementById("frame1"))) {
                    frame = document.getElementById("frame1");
                    frameWindow = getFrameWindow(frame);
                    frameDocument = frameWindow.document;
                    frameSelection = frameDocument.selection
                    if (!frameSelection) { frameSelection = new SelectionObject(frameWindow); }
                    frameDocument.designMode="on";
                } else {
                    setTimeout(loadIframe, 150);
                }
            }
           
            function getFrameWindow(iframe) {
                return iframe.window?iframe.window:iframe.contentWindow;
            }

            function getFrameDocument(iframe) {
                try { return getFrameWindow(iframe).document; } catch (ex) { return null; }
            }
           
            function replaceSelection() {
                var textRange = frameSelection.createRange();
                var el = document.getElementById("t_html");
                textRange.htmlText=el.value;
                el.value="";
            }
        --></script>
    </head>
    <body onload="loadIframe()">
        <iframe src="about:blank" id="frame1"></iframe>
        <form id="replaceForm" action="javascript:replaceSelection()">
            <textarea id="t_html" name="t_html"></textarea>
            <input type="submit" />
        </form>
    </body>
</html>

Pourquoi notre PC fait-il toujours ce qu'on lui demande ... et pas ce qu'on veut ???

jeudi 5 avril 2007 à 17:36:15 | Re : .selectionStart dans un Iframe

FREMYCOMPANY

Excuse moi, ce code n'était pas compatbile avec Internet Explorer (pour une raison un peu mistérieuse)

Je l'ai corrigé.

<html>
    <head>
        <script src="document.selection.js"></script>
        <script><!--
            var frame, frameWindow, frameDocument;
            function loadIframe() {
                if (getFrameDocument(document.getElementById("frame1"))) {
                    frame = document.getElementById("frame1");
                    frameWindow = getFrameWindow(frame);
                    frameDocument = frameWindow.document;
                    frameDocument.designMode="on";
                } else {
                    setTimeout(loadIframe, 150);
                }
            }
           
            function getFrameWindow(iframe) {
                return iframe.window?iframe.window:iframe.contentWindow;
            }

            function getFrameDocument(iframe) {
                try { return getFrameWindow(iframe).document; } catch (ex) { return null; }
            }
           
            function replaceSelection() {
                var textRange = frameDocument.selection.createRange()
                if (!textRange) { textRange = new SelectionObject(frameWindow).createRange(); }
                var el = document.getElementById("t_html");
                textRange.text=el.value;
                el.value="";
            }
        --></script>
    </head>
    <body onload="loadIframe()">
        <iframe src="about:blank" id="frame1"></iframe>
        <form id="replaceForm" action="javascript:replaceSelection()">
            <textarea id="t_html" name="t_html"></textarea>
            <input type="submit" />
        </form>
    </body>
</html>

jeudi 5 avril 2007 à 18:38:33 | Re : .selectionStart dans un Iframe

PetoleTeam

Membre Club
I'm very SORRY but ...
Faire tout simplement
var szSelect = O_Edit.contentWindow.getSelection();//pour avoir accés aux propriétés

;0)
vendredi 6 avril 2007 à 07:20:11 | Re : .selectionStart dans un Iframe

bultez

Membre Club


salut PetoleTeam,

        intéressant... mais  je ne suis pas doué !!!

<body onload="init();">
 <iframe    style="    width:98%;
                        height:40%;
                        border:0;
                        background-color:#FFFFDD;"
            name="saisie"
            id="saisie"></iframe>
 <script type="text/javascript">
    function init()
    {
      Fen=document.getElementById('saisie').contentWindow;
      Champ=document.getElementById('saisie').contentDocument;
      Champ.designMode='on';
      O_Edit = document.getElementById("saisie");
      Fen.focus();
    }
    function siFF()
    {
        var t1 = O_Edit.contentDocument.getSelection();   
        var t2 = O_Edit.contentWindow.getSelection();   
       
        alert(O_Edit.contentDocument.selectionStart);    //undefined
       
        alert(t1);                                       //affiche texte sélectionné
        t1="remplacer par n'importe quoi";               //ne remplace pas
        alert(t1.selectionStart);                        //undefined
       
        alert(t2);                                       //affiche le texte sélectionné
        t2="remplacer par n'importe quoi";               //ne remplace pas
        alert(t2.selectionStart);                        //undefined
    }
</script>
<input type="button"
        onclick="siFF()"
        value="Affiche">
</body>


>>Alors ce projet avance...
    doucement... entre 25 autres choses.
    la conception est finie, avec IE je pourrais terminer,
       il faudrait que cette fonctionnalité marche avec FF ( et consors )
       pour que je finalise

si tu jettes un oeil pour me dire où me plante-je ?

le but du jeu c'est de remplacer ces caractères sélectionnés par "autre chose"
avec IE on ferait : sel = Champ.selection.createRange();
                               sel.text="tout ce qu'on veut";      pour donner une idée.


Cordialement            Bul     [mon Site]     [M'écrire]


1 2 3

Cette discussion est classée dans : champ, var, saisie, tmp, fen


Répondre à ce message

Sujets en rapport avec ce message

Controle formulaire paranoiaque [ par ma2x ] Bonjour à tousIl m'a été demandé dans le cadre du boulot de mettre en oeuvre une interface de saisie de données soumis à des controles de toutes parts Eval [ par stephbb75 ] Salut tous,Une tit question sur eval.Voila ce que je veut faire :J'ai des variablesvar v1 = toto;var v2 = titi;...Et sur saissie d'un formulaire, je v Changment automatique de champ HTML [ par cjed ] Salut,J'aurais voulu savoir s'il est possible d'avoir un changement automatique de champ HTML (champ de numéro d'ordre suivant) à chaque fin de saisie probleme script de controle de saisie [ par fredmorvant29 ] bonjour, je suis en train de réaliser le controle de saisie sur mon formulaire.je souhaite tester deux choses : *que l'email soit valide (ça ça mar Recherche sur plusieurs champ avec saisie automatique [ par stained ] Bonjour,Voila j'aimerai effectuer une saisie automatique sur plusieurs champs dépendant (Nom contact + Telephone Contact) chargé dans un tableau javas Background champ de saisie en rouge [ par talking ] Voilà bonjour tout le monde Donc voici ma question:J'aimerai savoir comment je peux faire en Javascript pour mettre le background d'un champ de saisie Fonction javascript [ par righton ] Bonjour voici une fonction pour mettre du bold ou de l'italic dans un champ de saisie :function format(f) { var str = document.selection.createRange( var elements name et champ [ par rafou77 ] bonjour voilà javascript c'est pas mon truc mais pourriez vous m'aider car j'ai un champ qui fait référence à mnt_credit qui est dans un script ici:fo ca coince avec cette fonction [ par B e N z ] salut tt le monde enfaite moi je suis en stage ds une société et on m'as charger de faire un formulaire pour leur site intranet mé le blem c que j'ava compter le nombre de radio button [ par misterdarth ] Bonjour,Lors de la saisie d'un formulaire, je cherche à tester certains champs afin de m'assurer que l'utilisateur n'a pas mis n'importe quoi.Dans ce


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 1,310 sec (3)

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