zemele
Messages postés119Date d'inscriptionvendredi 29 juillet 2005StatutMembreDernière intervention26 novembre 2009
-
1 mars 2008 à 10:11
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
2 mars 2008 à 13:18
Bonjour,
On va faire simple, voici mon code qui ne marche pas (il créée l'iframe mais ne lui donne pas le focus et n'est pas modifiable non-plus)
function inli(obj){
var iframe = null;//initialisation
iframe = document.createElement("iframe");//Création de l'élément
iframe.id = 'Saisie';//On nomme l'éléments
obj.replaceChild(iframe, obj.firstChild);//On remplace l'élément cliqué par l'iframe
Champ=document.getElementById('Saisie').contentDocument;
Fen=document.getElementById('Saisie').contentWindow;
Champ.designMode='On'; // iframe modifiable
Fen.focus(); //On donne le focus
}
Après plusieurs tests le pb viendrai peut être iframe = document.createElement("iframe") mais quel est le pb exacte et comment le solutionner vraiment je ne voit pas. Si quelqu'un à une idée ça me dépatouillerai ...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 mars 2008 à 11:22
et pourquoi "tu t'embêtes" avec replaceChild du firstChild d'un div... vide ?
pourquoi pas simplement un iframe, directement dans le body ?
si tu as regardé mon code ici, c'est ce qui est fait.
mais on peut regarder pourquoi ça ne baigne pas tel que tu le fais...
<hr /> Cordialement Bul [mon Site] [M'écrire]
zemele
Messages postés119Date d'inscriptionvendredi 29 juillet 2005StatutMembreDernière intervention26 novembre 2009 1 mars 2008 à 11:30
Non c'est un système "inlineMode", ctad quand on clique sur un texte, il passe en mode "modification", quand on clique ailleur, le texte d'origine est remplacé par celui saisie. Il faut donc
au clique : crééer l'iframe
au clique exterrieur le supprimer.
(Je te passe le reste du code qui lui fonctionne, et j'ai isolé juste cette partie pour vérifier qu'il n'y pas problème de doublont ou autre...)
Et pour l'instant, j'ai juste ce petit problème de passage en mode modification de l'iframe. J'ai encore tester d'autre chose et rien n'y fait. Il y a juste qu'avec alert que ça marche. Pourquoi je ne sais pas... Si tu as une idée...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 mars 2008 à 11:48
si tu veux basculer mode wysiwyg / mode texte brut,
j'ai fais cela en recouvrant l'iframe par textarea de même taille/position
( et inversement )
si tu veux cacher... il y a d'autres moyens plus simples... mais tu sais probablement....
mais si tu veux conserver cette méthode...
l'erreur est ici : document.getElementById('Saisie')
il ne trouve pas l'ID Saisie,
l'Iframe est bien créée, l'id "Saisie" ne lui est pas affecté !
j'ai en tête d'avoir eu un problème similaire, je ne me souviens
plus à quoi c'était du, quelle erreur je faisais ! de mémoire
d'Alzheimer , un problème "de syntaxe" pour affecter en dynamique un ID....
faut retrouver quoi...
zemele
Messages postés119Date d'inscriptionvendredi 29 juillet 2005StatutMembreDernière intervention26 novembre 2009 1 mars 2008 à 11:52
Oui je pense aussi que le pb vient de là. Ce qui est curieux c'est qu'après une alrt ça marche... Je vais creuser...
Quant au remplacement par un textarea, ce n'est pas utile dans mon cas, car je récupère le contenu de l'iframe et le fait charger dans la page par une méthode ajax, les varibles pouvant être envoyés en post par ajax, pas utile d'avoir des éléments de formulaire...
zemele
Messages postés119Date d'inscriptionvendredi 29 juillet 2005StatutMembreDernière intervention26 novembre 2009 2 mars 2008 à 12:26
Tient par contre, j'ai une autre petite question :
Est il possible de lancer une fonction js lorsque qu'on quitte la fenêtre iframe (quand on a plus le focus), parce que onblur sur l'iframe créée ne fonctionne pas...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 mars 2008 à 13:18
>>
je pense que je vais contourner le pb...
ok... mais ne coche pas "réponse acceptée" !
j'aimerais bien avoir des explications des autres intervenants qui sauront sûrement...
>>parce que onblur sur l'iframe créée ne fonctionne pas.
ah.... faut que je teste alors, parce que là non plus, "pas de raisons"