begin process at 2012 02 12 19:46:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > MISE EN FORME DE TEXTE [ SAISIE WYSIWYG ]

MISE EN FORME DE TEXTE [ SAISIE WYSIWYG ]


 Information sur la source

Note :
9,4 / 10 - par 15 personnes
9,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :éditeur, wysiwyg, texte, richtext, editor Niveau :Débutant Date de création :08/07/2005 Date de mise à jour :08/05/2008 12:33:42 Vu / téléchargé :24 756 / 4 356

Auteur : bultez

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (87)
Ajouter un commentaire et/ou une note


 Description

gras, souligné, italique, couleur caractères
et fond, police, taille, insertions objets ...
testé avec FireFox, Internet Explorer, K-Meleon, Opera, Safari.


 Conclusion

j'ai vu pas mal de questions sur la mise en forme de texte
dans une page html.
j'avais déjà posté une saisie wysiwyg  mais exclusif
Internet Explorer.
cette version fonctionne avec Mozilla et bien sûr avec
Internet Explorer, cependant  il y a quelques fonctions
que je ne  suis pas parvenu à faire fonctionner avec
Mozilla : erreur de syntaxe de  ma part ( sûrement ! )
ou ça ne marche pas ? si vous savez, dites moi ...
[ Copy,Cut,Paste,CreateLink, tous les Insert??
  comme InsertButton ou InsertImage,
  SaveAs... etc, qui fonctionnent parfaitement bien,
  enfin que je sais faire marcher, avec  Internet Explorer ]

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

10 juillet 2005 13:00:03 :
_ amélioration du choix des couleurs [ par déplacement d'un curseur ] _ ajout de spécificités d'Internet Explorer [ pas de raison de s'en priver, même si pour l'instant je ne sais les faire marcher qu'avec ce navigateur ]
10 juillet 2005 14:56:17 :
j'avais mis une version de travail et non pas la version provisoirement définitive, qui est définitivement provisoire.
12 juillet 2005 12:53:17 :
quelques petites améliorations.
08 mai 2008 12:33:43 :
amélioration du choix des couleurs

 Sources du même auteur

Source avec Zip Source avec une capture [CF) CHOIX D'UN FICHIER
Source avec Zip [GAG] GESTION AJAX GÉNÉRALISÉE
Source avec Zip [JEAN] JAVASCRIPT EXÉCUTÉ AVEC LA RÉPONSE D'AJAX, NASALODIGI...
Source avec Zip Source avec une capture [P.J.] PAGES JOURNALIÈRES ~ AGENDA ~ RENDEZ-VOUS ~
Source avec Zip Source avec une capture DIFFÉRENCES EN JAVASCRIPT [DJ]

 Sources de la même categorie

COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol
Source avec Zip Source avec une capture HTML5 PLAYER par kazma
Source avec Zip Source avec une capture SCROLLBAR PERSONNALISABLE par kazma
Source avec Zip INFO BULLE par RudiRatlos

 Sources en rapport avec celle ci

CHANGER LA TAILLE DU TEXTE ET OU DE FEUILLE DE STYLE AVEC EN... par Annadrill
TAILLE DE TEXTE EN FONCTION DE LA RÉSOLUTION par tefa24600
Source avec Zip Source avec une capture EFFET DE TEXTE EN CSS3 par kazma
Source avec Zip Source avec une capture JDMATH : LE PREMIER ÉDITEUR D'ÉQUATION EN HTML WYSIWYG par jdmcreator
Source avec Zip EDITEUR WYSIWYG par alain34

Commentaires et avis

Commentaire de coucou747 le 09/07/2005 00:52:59 administrateur CS

il ne fonctionne pas avec Konqueror, et je n'ai pas réussi à le faire fonctionner avec ce navigateur, comme tu as prévu un switch au lieu d'un if, j'ai pensé que tu attendais les problèmes de compatibilités, je te préviens donc...
navigator.appName="Konqueror"
je n'ai malheureusement pas réussi à trouver un exemple de wysiwyg qui fonctionne avec MSIE, gecko, opera et KHTML...

C'est du bon travail, je te remerci, ça me servira beaucoups...

Commentaire de bultez le 09/07/2005 09:48:52

salut couco747,
effectivement j'espère des retours
pour les autres navigateurs... et
surtout comment faire avec eux
tout ce qu'on peut faire avec IE.

Commentaire de RazielReaver le 09/07/2005 13:51:05

Seul point noir pour choisir la couleur... Ca devient assez lourd au Bout d'un moment de trouver unE couleur en mélangeant les RVB et le défilement des composantes RVB et long.

Sinon c vraiment super sympa bravo pour ton travail..

Commentaire de bultez le 09/07/2005 15:23:51

salut RazielRaever

>>Seul point noir pour choisir la couleur
et je peux comprendre ce point de vue,
c'est la "moins mauvaise" solution
que j'ai trouvé pour être compatible.

avec Internet Explorer j'utilise un
Active'X ( CommonDialog ) et c'est
nickel chrome.

pour "tous navigateurs" , je pensais :
_ autoriser la saisie de valeurs => mais
dans ce cas le texte perd la zone de
sélection ( peut-on éviter cela ? ) et
saisir 3 valeurs ce n'est pas très
"propre" non plus.
_ cliquer sur une couleur dans un tableau =>
soit trop lourd ( 255x255x255 )
soit on n'a pas accès à toutes les couleurs.
_ un mélange de ces 2 solutions
un mini tableau de couleurs + affinage
manuel, je ne trouve pas ça satisfaisant.

donc si vous avez des idées : elles
sont les bienvenues.

Commentaire de LocalStone le 09/07/2005 17:51:30

Pour les couleurs, tu peux - je pense - assez simplement copier le système de Paint. Tu prends une image qui contient toutes les couleurs, et suivant la position de la souris sur la palette, tu peux en déduire la couleur. Je ne crois pas que ce soit extrèmement compliqué à mettre en place ...
Voilà !
++ !
L.S.

Commentaire de bultez le 10/07/2005 13:04:43

je viens de rectifier ce choix de couleurs :
par déplacements d'un curseur sur une échelle.
merci de vos commentaires.

Commentaire de Arto_8000 le 10/07/2005 22:41:26

Il y a quelques bugs dans ton script ,quand on insert un select et que l'on va voir la source le select est en premier plan et cache une partie de la source (testé sur IE).Quand on charge la page il y a un rectangle noir qui cache la partie de l'éditeur (testé sur Netscape 7.1). Si tu veux voir ce que tu peux faire avec les différents navigateurs il existe un open source qui s'appelle RichTextBox Editor ,il fonctionne sur Gecko et IE.

Commentaire de coucou747 le 11/07/2005 00:23:48 administrateur CS

RichTextBox ne fonctionne pas non plus sous Konqueror...

Commentaire de Arto_8000 le 11/07/2005 00:59:23

C'est sûr, Konqueror ne supporte pas l'attribut designMode. A propos Konqueror est-ce que c'est vraiment utilisé sur le web. Sinon je vois pas pourquoi le fait qu'un script ne fonctionne sur Konqueror change quelquechose.

Commentaire de bultez le 11/07/2005 06:48:44

à Arto_8000
>>quand on insert un select et que l'on va voir
>>la source le select est en premier plan et cache
>>une partie de la source (testé sur IE).
"bug" connu. on n'arrive pas à mettre un
objet au dessus d'un select ( un div par ex )
j'ai lu que ça venait du fait que les select
n'étaient pas gérés comme les autres objets.
>>il y a un rectangle noir qui cache la partie
>>de l'éditeur (testé sur Netscape 7.1).
c'est du à quoi ? comment faire pour éviter ?
[ mais Netscape n'est-il pas mort ? ]
>>open source qui s'appelle RichTextBox Editor
peut-être puis-je y trouver comment faire
pour les autres navigateurs ? on trouve
ça où ? recherche avec google ?    @+

Commentaire de lordskyser1 le 11/07/2005 11:10:48

bon travail!
Dommage pour les navigateurs exotiques style Konqueror mais bon, c'est pas la majorité. Ceux qui utilisent ces navigateurs (hein coucou ;-)) n'ont qu'à en changer jusqu'à ce qu'ils soient plus au point lol. On va pas faire le travail de compatibilité à la place des développeurs du navigateur quand même. Paske sinan il marche pas non plus avec le navigateur que j'ai développé TotoNavigator....

Commentaire de coucou747 le 11/07/2005 13:33:48 administrateur CS

Dans un sens Konqueror fait 1 % des visites sur mon site web, ce site web parle de la programmation, donc, c'est assez normal de croiser des linuxois qui aiment bien Konqueror. Cependant, quand on a Konqueror, on a souvent aussi Mozilla, Firefox et d'autres navigateurs gecko....
Konqueror est le navigateur par défaut de l'environement KDE sous linux, KDE est l'environement graphique par défaut sous beaucoups de distributions de linux. Il est vraiment bon, je n'ai croisé des problèmes qu'avec les wysiwygs... Konqueror a pour particularitée de gérer à la fois les normes classiques et une grande quantité de normes MS...
Konqueror a été créé par l'entreprise trolltek, ils font aussi KDE et QT, c'est une entreprise qui vit de l'open-source et qui dévelope en donnant ses produits aux linuxois et en faisant payer les windowsiens... Ce n'est pas un projet open source comme les autres dans le sens ou on ne peut pas intègrer le projet facilement, mais dans un sens, c'en est un à part entière, et on ne doit pas l'oublier...
Perso, j'essai de déveloper pour le maximum de monde quand je le peux, alors si on peut le faire, autant le faire, quand c'est pas possible, je comprends, mais on ne doit pas oublier un groupe sous prétexte qu'il est réduit alors qu'on pourrait l'intègrer facilement (pe). Faut aller voir sur linux-fr.org le sujet sera peut-être plus dévelopé...
L'éditeur de texte RichTextBox Editor a un défaut majeur : il est lent, et un défaut mineur : il n'est pas fait pour être lu (cf leurs retours à la ligne foireux et l'absence de commentaires...)

Commentaire de la_pin le 11/07/2005 19:04:30

Super sympa cet éditeur, j'aime bien la fonction enregistrer ^^

Commentaire de lordskyser1 le 11/07/2005 23:00:59

dernières questions sans rapport avec la source dslé : existe-il-des versions windows de konqueror, galéon et safari? Si oui, où les télécharger? Si ma feuille de style externe marche avec mozilla, firefox, netscape et MSIE, elles fonctionnera sous cs navigateurs "exotiques"? Voilà, dslé pour le dérangement mais je n'ai pas encore trouvé de réponse

Commentaire de Arto_8000 le 12/07/2005 03:30:57

A bultez -> Si tu veux la source de RichTextBox Editor je l'ai zipper et je l'ai mis sur le site :

http://www.geocities.com/scrip154/rte.zip

A coucou747 -> Je ne sais pas avec quel navigateur tu as chargé RichTextBox ,mais chez moi ça prend 1 seconde. C'est vrai que la source n'a aucun commentaire ,mais ça n'empêche pas le fait que l'on ne peut pas rien apprendre.

Commentaire de coucou747 le 12/07/2005 07:07:29 administrateur CS

ces navigateurs ont pour moteur html :
-gecko pour Mozilla, firefox, galeon, epiphany
-khtml pour Konqueror
pour safari et opera, je n'en sais rien...

les moteurs seront prochainement accèssibles partout, je crois qu'ils sont déja accèssible sous windows, mais comme win ne m'interesse pas vraiment, je n'ai pas vérifié...

Commentaire de bultez le 12/07/2005 12:37:52

à Arto_8000, merci pour RTE.ZIP :
pas vu/appris grand chose...
d'ailleurs je trouve mon script
bien plus simple, plus lisible,
et plus complet.( mais c'est
normal, c'est le mien, je comprend
ce que j'ai écrit, et je ne vais
pas le dénigrer non plus )    @+

Commentaire de coucou747 le 13/07/2005 20:43:54 administrateur CS

je te remercie vraiment, j'ai créé à mon tour mon propre wysiwyg, (je ne t'ai copié qu'une petite partie de la fonction init, alors on peut dire que je l'ai fait moi même, mais grace à toi, restons modeste...)
j'ai un petit problème, et une amélioration possible pour ton script : dans les wysiwygs classiques (les diférents offices,) quand on est sur une région sélecionnée, le bouton sélectionné est souligné, j'aimerais faire la même chose, tout ce que j'ai réussi à faire, c'est ça :
function toolbar_color(){
//alert(texte.queryCommandEnabled("JustifyFull"));
if (texte.queryCommandState("JustifyFull")==true)
document.getElementById("justifie").style.backgroundColor="#F00";
else
document.getElementById("justifie").style.backgroundColor="none";
if (texte.queryCommandState("Italic")==true)
document.getElementById("italique").style.backgroundColor="#F00";
else
document.getElementById("italique").style.backgroundColor="none";
setTimeout("toolbar_color();", 1000);
}

bon, c'est sur que c'est pas super super, la fonction s'appelle toutes les secondes, et c'est pas super cool, mais un onkeypress sur l'iframe ne fonctionne pas...
Cette fonction donne les commandes qui ont étés utilisées, mais pas les commandes qui ont étés utilisées sur la sélection...
Si quelqu'un pouvait m'aider, ça améliorerais nos deux wysiwyg...

Commentaire de bultez le 14/07/2005 13:58:32

ouais coucou747 , amélioration
possible et intéressante.
avec onkeyup, sous Internet
explorer, ça marche.
regardons pour les autres
navigateurs ( peu d'idées là
moi, espérons de l'aide ).

Commentaire de coucou747 le 14/07/2005 16:10:11 administrateur CS

le setTimeout n'est qu'un détail, ce que je veux, c'est afficher le fait qu'on soit sur une zone soulignée, en gras ... ou non...

Commentaire de rottweiler le 17/07/2005 01:47:41

Le choix des couleur version standard est serait beaucoup mieux , sinon pas mal du tout ton job .

Commentaire de lacousine le 14/08/2005 22:43:43

je te remercie d'avoir affiché ton code ici, car j'essayais justement d'intégrer les balises à mon formulaire qui me permet d'écrire dans ma base de données. Il manquait de la mise en page. Je vais vérifier comment je pourrais intégrer certaine de tes fonctions à mon code.

Commentaire de zouam le 07/10/2005 08:42:25

slt tt le monde, je suis novice en javascript et j'aimerais intégrer ce sript a mon site, qlq un pourrais faire un petit tuto? merci

Commentaire de Netsuko le 20/10/2005 11:31:10

Slt tout le monde, j'ai un petit souci avec le code : J'essaye de récupérer la valeur de la textarea dans une deuxième page php par methode POST. Dans "Action" j'ai bien mis ma page php.
Rien ne s'affiche sauf quand j'enlève "display:none;" de la balise style de la textarea.
Mais du coup la mise en forme ne s'affiche plus en direct ...
Quelqu'un peut m'aider svp ?

P.S : Merci pour ce code c'est nikel !

Commentaire de Netsuko le 20/10/2005 11:32:04

Slt tout le monde, j'ai un petit souci avec le code : J'essaye de récupérer la valeur de la textarea dans une deuxième page php par methode POST. Dans "Action" j'ai bien mis ma page php.
Rien ne s'affiche sauf quand j'enlève "display:none;" de la balise style de la textarea.
Mais du coup la mise en forme ne s'affiche plus en direct ...
Quelqu'un peut m'aider svp ?

P.S : Merci pour ce code c'est nikel !

Commentaire de bultez le 20/10/2005 11:50:18

>>Rien ne s'affiche sauf quand >>j'enlève "display:none;"
ben oui, display:none c'est pour ne rien afficher
>>la mise en forme ne s'affiche plus en direct
ben oui, les balises ne sont pas interprétées
dans un textearea mais affichées comme du texte.

Commentaire de darkman2 le 08/11/2005 07:00:16

je trouve super sympa ton code
coté design c'est cool
mais essai de voir la compatibilité avec netscape et Konqueror
et bonne continuation

Commentaire de coucou747 le 08/11/2005 17:54:50 administrateur CS

On ne peut pas le rendre compatible Konqueror à l'heure qu'il est... Faut en parler à TrollTeck

Commentaire de bultez le 09/11/2005 09:09:15

si coucou747 le dit c'est que c'est vrai,
merci donc à lui de cette information.

Commentaire de coucou747 le 09/11/2005 14:55:51 administrateur CS

lol, j'ai passé du temps à faire quelquechose de fonctionnel sous tout les navigateurs, et finalement, j'ai fais un truc genre :
si t'as ie ou gecko, t'as un wysiwyg, si t'as KHTML, t'as un éditeur de BBCODE avec aperçu automatique...

Ma fonction est plutôt sympas, et l'aime bien le résultat, mais voila, je n'ai pas réussi à faire de wysiwyg sous konqueror, et on ne peut pas utiliser l'iframe pour ça... (en tout cas, je n'ai vu aucun exemple qui fonctionnait...)

Commentaire de famak le 17/03/2006 14:35:41

j'ai le meme probleme que zouam a savoir que je vien tout juste de commencer le javascript et que je comprend pas comment intégrer ton code qui fonctionne a merveille pour pouvoir modifier des page html déjà créer.

Commentaire de coucou747 le 17/03/2006 18:02:30 administrateur CS

pour modifier des pages html, tu dois avoir un truc coté serveur pour les enregistrer...

Commentaire de ChrisPM le 20/03/2006 13:48:06

hello,

coucou747 > je ne sais pas si depuis ton dernier message sur le sujet, tu as réussi à faire ce que tu voulais, c'est à dire imiter le fonctionnement d'office ou de tout autre traitement de texte : en cliquant sur un texte, ou en se déplacant dessus au clavier, les boutons de la barre d'outils s'actualisent en fonction du style du texte. Et en cliquant sur un bouton pour appliquer le style, le bouton garde l'état activé de ce style.

Bref, si tu n'a pas encore réussi, je l'ai fait sur mon adapation perso du "cross browser rich text editor" de kevin roth, et ça marche très bien ! Ca m'indique le style (gras, italique, souligné, listes, etc), et la police/taille du texte choisie selon une liste. (j'ai imité le dessin et le fonctionnement, mis à part la saisie de valeurs, des combo-box dans office ^^

aussi, pour le choix de la couleur, j'ai imité le fonctionnement de word, à savoir que lorsqu'on choisit une couleur, la petite bande sous le pot de peinture se colore, et la couleur est conservée (par cookie) pour les prochaines visites de la page.

un exemple de mon intégration : http://forum.chrispm.com/post.php?idtheme=4&action=nouv&f=tous

si quelqu'un est intéressé, servez-vous, les js sont accessibles :D

Commentaire de coucou747 le 20/03/2006 19:04:36 administrateur CS

j'ai aussi réussi à le faire

Commentaire de ChrisPM le 21/03/2006 07:29:34

héhé tant mieux alors ;)

Commentaire de bany74 le 28/03/2006 20:16:05

ChrisPM Merci pour tes scripts que je vais étudier de ce pas...
j'ai regardé ton forum il est magnifique.

tous ces posts sont trés instructifs merci à tous!

bon courage

Commentaire de DeWaRs le 12/10/2006 15:15:13

J'aimerai savoir comment integrer ce genre de script dans une page en PHP classique. En fait, ce genre de script permettrai de rajouter une news par exemple sans avoir a integrer de balise dans le texte. Ne connaissant rien au JS, j'aurais besoin de votre aide. scsof@free.fr si vous voulez me contacter.

Commentaire de mendossa le 18/12/2006 15:12:21

Bonjour à tous,

J'utilise actuellement ce script qui fonctionne très bien sous Internet Explorer 6; mais je viens de me rendre compte qu'il ne fonctionnait pas sous IE7.
La zone est vérrouillé, quelqu'un aurait-il une solution ??



Commentaire de bultez le 18/12/2006 15:26:47

salut Mendossa,
je l'avais essayé lors de l'installation de IE7 RC1 ( français )
et je viens de tester avec la version IE7 "d'aujourd'hui" :
aucun souci pour moi.
tu peux nous en dire plus ? car "pas de raisons", à priori !

Commentaire de BIGROSA le 27/03/2007 13:32:03

Bonjour à tous.
Super travail.
Je suis nul en java script.
J'essaie d'envoyer à une page via son adresse le code html du texte tapé.

merci par avance.

Commentaire de bultez le 27/03/2007 13:54:02


salut Bigrosa

>>Super travail
..merci

>>Je suis nul en java script
..ça ne veut rien dire. JavaScript est un langage de programmation.
..on peut être nul en programmation ( je n'en suis pas loin ),
..pas nul dans un langage, quel qu'il soit ( sauf volontairement )

>>J'essaie d'envoyer à une page via son adresse le code html du texte tapé.
..alors là : "j'ai rien compris"
..il vaudrait probablement mieux poser la question sur le forum
..en explicant "un peu mieux" ( doux euphémisme )

@+

Commentaire de Jarod1980 le 05/04/2007 20:30:58

Salut,

Pourrais tu m'expliquer comment marche le saveAs, j'arrive pas à voir dans ton code où ça se trouve.
Au sinon, très bonne source, bravo!

Commentaire de coucou747 le 05/04/2007 22:32:52 administrateur CS

j'ai remarque qu'il y a une erreur lors de la notation quand on clique sur les etoiles sans avoir commente juste avant la source, alors voila, 10/10

Commentaire de bultez le 06/04/2007 06:50:55

salut Jarod,

<input type="image"
src="SaveAs.gif"
title="Sauver"
onclick="btn1(this);" />

//————————————————————————————————————————————
function btn1(bou,p2,p3) //—— bouton ——
//————————————————————————————————————————————
{
p2 = p2 ? p2 : false; // valeurs par défaut
p3 = p3 ? p3 : null;
Champ.execCommand(bou.src.substring(bou.src.lastIndexOf("/")+1,
bou.src.lastIndexOf(".")),p2,p3);  
Fen.focus();
}

que ne comprends tu pas ?
@+

Commentaire de bcmfr le 17/11/2007 11:54:31 10/10

nikel
@+

Commentaire de Sibtcha le 31/01/2008 20:53:54 8/10

bonjour,

Tout d'abord, merci pour la source, elle est très bien faite. Cependant le je comprends pas la fonction btn1(bou, p2, p3). Quelqu'un pourrait-il me l'expliquer. Merci d'avance

Salutations sibtcha

Commentaire de bultez le 01/02/2008 08:13:20

juste le message au dessus, je demandais : que ne comprends-tu pas ?
je te pose donc la même question... ou, qu'est-ce qui te gène ?
les lignes p2= p3= ? le substring dans les paramètres de execCommand ?
@+

Commentaire de Sibtcha le 01/02/2008 11:10:37

alors en fait ce sont les  lignes p2 = p3 ? et la ligne du execCommand

dsl je ne suis pas super fort en Javascript mais je tente de m'amélioré.

Merci d'avance @+

Commentaire de Sibtcha le 03/02/2008 21:16:39

En fait c'est bon, après avoir réfléchis un peu j'ai compris le fonctionnement ce cette fonction (très bien faite d'ailleurs ;-))

Encore merci

Salutations Sibtcha

Commentaire de bultez le 04/02/2008 07:23:33

>>dsl je ne suis pas super fort en Javascript
moi non plus, mais y'a pas d'quoi être désolé.
>>après avoir réfléchis un peu j'ai compris
ben voilà, bravo, c'est essentiel de savoir réflêchir.
( et l'essentiel, c'est le principal )

Commentaire de Scratyx le 21/05/2008 11:32:52

Un très bon script mais seulement je me trouve en face d'un problème déjà mis en avant par NETSUKO en 2005.
Je me permet de le poser afin de peut être trouver une réponse claire.

Je teste ton script en ajoutant un input "submit" et en entrant l'adresse d'une page php (test.php) qui a pour but de récupérer et d'afficher le contenu de la page précédent. (j'ai bien compris le système qu'avec le display:none, il n'est possible d'avoir que du texte, là n'est pas le problème)

Mon problème réside dans le fait quje trasmet "txt" qui est vide. En effet le contenu de l'iframe n'est pas transmis à txt avant de l'envoyer.

Je m'y prend sans doute mal mais est il possible que quelqu'un me conseille sur la façon à adopter afin que je puisse transmettre le contenu de ce qui est tapé, à une autre page.

Merci en tout cas

Commentaire de bultez le 21/05/2008 11:58:42



certes, certes...
"il suffit" de le faire dans la balise form...

<form action="page.php"
onsubmit="trtTxt();"
method="post"
name="frm">

function trtTxt()
{ var tmp=document.getElementById("txt");
if ( tmp.style.display=="none" )
{ tmp.value=Champ.body.innerHTML; }
}

pas testé... mais pas loin...

Commentaire de Scratyx le 21/05/2008 12:44:53

Merci de ton aide :)

J'arrive donc maintenant à récupérer les données comme je le désire.

Commentaire de bultez le 21/05/2008 12:53:33

nickel si çà baigne...  merci du retour.    @+

Commentaire de Scratyx le 22/05/2008 09:43:04

Salut Bultez c'est encore moi !

Je tente d'améliorer (si on peut dire) ton script en ajoutant une valeur par défaut dans le textarea (enfin quand je dis textarea... ça serait plutôt dans l'iframe).

En gros la fonctionnalité que je veux apporter est la réédition d'une news.

Si je récupère le texte et que je le met dans le textarea, il n'apparait pas dans l'iframe. Y a t'il possibilité de récupérer le texte dans le textarea pour simplement mettre a jour l'iframe ?

Si non, penses tu que cela est possible ?

Cordialement, Scratyx.

Commentaire de bultez le 22/05/2008 10:40:31

regarde dans le script.
le "transfert" textarea <==> iframe y est fait ( click sur l'image <> )
document.getElementById("txt").value=Champ.body.innerHTML   et/ou
Champ.body.innerHTML=document.getElementById("txt").value

Commentaire de Scratyx le 22/05/2008 11:49:46

Je n'avais pas pensé à faire comme cela.

Merci pour tout ;)

Commentaire de PlayerMania le 14/09/2008 12:29:53 8/10

Bien sympa cette source, ça change des usines à gaz de tinymce ou autres...

Hélas je trouve qu'il reste tjrs un dernier bon souci sur tous ces wysiwyg, le copier/coller et glisser/déposer qui nous pond selon la source de copie une mise en forme plutôt exotique bien souvent.

Je pense qu'il faudrait réussir à ne pas mettre en forme du contenu collé ou déposé, pour pouvoir ensuite bien le remodeler via notre petite barre d'outil (et donc seulement avec nos outils possibles).

La solution serai qqch du genre onPaste sur l'élément,  qui détecte le collage, et au même moment on remouline  notre fameux "Saisie" pour lui enlever tout ce qu'on ne désire pas y trouver.

J'y travail, mais au final, la bonne emmerde, c'est que la balise iframe n'accepte pas onpaste="ma_fonction();"

Des idées ??

Commentaire de bultez le 14/09/2008 14:37:35


>>ça change des usines à gaz de tinymce ou autres
c'est n'est pas comparable.
ici 3 lignes en javascript ne génèrent que
ce que les développeurs des navigateurs ont prévu,
certes d'aucun jugent ça nul... probablement des non
développeurs ;o) ... il faudrait s'adresser aux équipes
de  microsoft, mozilla... et autres. je sais bien
que ces même personnes pensent que ces équipes
n'ont pas les compétences ;o))) !!!
ça me laisse pantois !!!  moi, je ne suis pas à
la hauteur pour faire mieux.
les "usinages à gaz" tentent d'améliorer ( quoique ?)
ce qui est généré (?) ,
chacun sa vision, et la caravane passe.
>>le copier/coller et glisser/déposer qui nous pond selon la
>>source de copie une mise en forme plutôt exotique bien souvent
euh... même un copié/collé depuis word vers un iframe
dans un autre navigateur que IE( sans aucun code du
à mon insuffisance ) ça baigne...
>>pour lui enlever tout ce qu'on ne désire pas y trouver
ah... si tu tentes de changer ce que tous les navigateurs
génèrent ( mais diable... pourquoi faire ? ), je n'ai pas
les compétences, et surtout... quelle importance ?
les prochaines versions de ces (tous ! ) navigateurs feront mieux...
@+

Commentaire de PlayerMania le 14/09/2008 16:32:07

Si tu voyais ce que des gonz arrive à incruster via ce contenteditable... des tableaux détraquer, des fontsize title de 28, un autre de 22, des couleurs/fonds super jakie, décalage margin de 30, un coup 60...

Au final, les pages html ne ressemblent plus a rien.

Bref, j'espère bien redonner un peu d'ordre dans tous ces bordels, il y a des pages ou je n'ai carément pas envie de donner la possibilité de mettre un tableau ou d'y placer une image ou je ne sais quoi. La barre d'outils a beau ne pas proposer l'option, celle ci est réalisable via copier/coller...

Et mal grès tout, il faut que je passe tout de même par un wysiwyg vu la complexité de certaine page à rentrer et la volonté des utilisateurs a analyser ce qu'ils font...

Au final, ça donne un wysiwyg adapté pour le site, avec des contraintes sur les fontsize de titres et paragraphes, couleurs possibles, interdiction de tableaux, etc...

Même du tout nouveau navigateur t'affichera un tableau la ou tu en avais pas envie ou autres.

Dommage que tu ne crois plus en ta caravane.
Je t'assure qu'elle mérite de lui refaire une sacré peinture, lol.
++

Commentaire de bultez le 14/09/2008 17:28:10


effectivement vu sous cet angle...
mais dans un iframe, on devrait pouvoir
intercepter avant le [copié/]collé... pas de raison
( ce n'est pas contenteditable qui est pour un
  div, mais "iframe".designMode='On';  )
probablement d'ailleurs en mettant l'interception
de cet évènement dans l'iframe....
@+

Commentaire de PlayerMania le 15/09/2008 22:54:13

As tu essayé ?
Mon iframe ne veux tjrs rien savoir...


function onPasteHandler(e) {
setTimeout(function() {
window.alert('coller');
}, 10);
}

...
case 'Microsoft Internet Explorer':
Fen=window.frames['Saisie'];
Champ=Fen.document;
Champ.body.attachEvent('onPaste', onPasteHandler);
Champ.designMode='On';
...



J'ai aussi essayé en modifiant le contenu de l'iframe :

...
case "Microsoft Internet Explorer":
Fen=window.frames['Saisie'];
Champ=Fen.document;
var html = '<html><head></head><body onpaste="parent.onPasteHandler();"></body></html>';
Champ.open();
Champ.write(html);
Champ.close();
Champ.designMode='On';
...

et tjrs aucune réaction, que faire ??

ça fonctionne bien sur la page englobante, avec un <body onpaste="onPasteHandler();"> (sauf dans l'iframe bien sure)
J'ai pas encore testé pour mozilla

Commentaire de PlayerMania le 15/09/2008 23:09:11

J'ai aussi testé d'autres combinaisons :

Combiner la creation de contenu de l'iframe et l'attachEvent

Fait une vrai page pour l'iframe, contenant la fonction onPasteHandler et le body onpaste=onPasteHandler


Je crois que j'oublie qqch pour faire l'attachEvent, non ??

Commentaire de bultez le 16/09/2008 09:28:52

ah ben... tiens ? simplement, dans la fonction initial()
Fen.window.onload=function() { alert('load'); }
ça baigne
Fen.window.onpaste=function() { alert('paste'); }
ça baigne pas...
et si on met src="page.htm" dans l'iframe, même punition !?!
faut donc creuser un peu plus loin...

Commentaire de PlayerMania le 17/09/2008 16:05:40

mouuais, j'ai cassé ma pelleteuse sur mozilla...

Réussi à arrivé au but avec ie et de la bonne bidouille pour faire passer onpaste, et donc recontroler la copie ou le drag.
Mais ceci n'est apparemment pas possible avec moz sans changer un de ses fichiers de configuration...

Je suis donc partie dans une toute autre direction, qui consiste à faire tourner en boucle le contenu de l'iframe pour le controler/modifier.

Et me revoila de nouveau avec un probleme mozilla...

A chaque changement de l'intérieur de l'iframe, il y a donc ma fameuse fonction de controle qui se lance, et bien sure a la fin de celle ci, je refile à l'iframe le nouveau contenu, et le problème, c'est que du coup le curseur est remit au debut de l'iframe (position 0).

Sous ie je m'en tire bien avec un moveStart('character', curseur_pos) pour le recaler, mais mozilla et son selectionStart ou autre ne veux rien savoir à ce qu'il trouve dans mon iframe.

QQun saurait comment gérer le curseur Mozilla dans une iframe modifiable ??

Commentaire de bultez le 17/09/2008 16:14:50

à mon avis, tu devrais poser la question sur le forum...
y compris d'ailleurs pour le coup du "onpaste qui semble
ne pas fonctionner sur l'iframe", il y aura probablement
des réponses, au moins des pistes, sûrement des idées.
@+

Commentaire de goudea le 16/12/2008 23:07:49 10/10

Bravo pour le travail fourni !
Je vais étudier la source pour m'en inspirer.
En tout cas, le test que j'ai effectué m'a impressionné !

Commentaire de aminewas le 31/12/2008 12:42:00

bonjour,

Tout d'abord, merci pour la source, elle est très bien faite.mais jé 1 problem j'arrive pas a recuperer les données de textarea avec le mise en forme qui jété ajouter
merci de me repondre

Commentaire de Bul3 le 31/12/2008 12:57:08

mais encore ?
>>j'arrive pas a recuperer les données de textarea
>>avec la mise en forme qui jété ajouter ??
tu n'arrives pas à récupérer où ? comment ?
l'iframe "Saisie" et le textarea "txt" sont là
pour ça... normalement.

Commentaire de aminewas le 31/12/2008 13:11:17

rebonjour
a propos la recuperation de données de textearea j'arrive a recuperé dans une textearea mais avec des balise <htlm>

Commentaire de Bul3 le 31/12/2008 13:17:59

il vaudrait mieux que tu  me contactes directement
ici : http://bul.o-n.fr/?bul
mais franchement, il faut te les arracher
les informations !
comment veux-tu qu'on t'aide avec aussi peu d'infos ?
enfin... moi j'en suis bien incapable.

Commentaire de aminewas le 31/12/2008 13:25:56

re c moi encore
je un problem quand je envoie le donnée a une destinaitaire je le recupere le donnée mais avec des balise <html>

exp:je envoi "salut" en gras ,souligné et italique
je recu comme ca<STRONG><EM><U>salut</U></EM></STRONG>

Commentaire de Bul3 le 31/12/2008 13:38:09

c'est normal.
comment veux tu sans balises html,
afficher du gras, du souligné... ?
@+

Commentaire de aminewas le 31/12/2008 13:48:51

wé, je sé il faut des balise html mais il faut traiter avec les balises html et l'afficher dans textearea sont balise html
car quand j'ouvre la boite de reception je trouve le text avec des balise html

Commentaire de Bul3 le 31/12/2008 14:05:34

euh.. et en frenchy ?
néanmoins : tu n'échapperas pas aux balises

Commentaire de aminewas le 01/01/2009 22:56:49

svp je peux pas eviter <iframe> ???

Commentaire de Bul3 le 02/01/2009 08:23:06

tu peux mettre un div contenteditable,
mais c'est exclusif IE, je crains.
pourquoi éviter iframe ? ça ne gène en rien...

Commentaire de camelion_ le 29/04/2009 21:16:54 10/10

Salut,
super source ,chapeau pour ton éditeur ,et pour tout tes commentaire
bon continuation

Commentaire de benoure le 31/05/2009 04:21:38

Salut c'est une super source !!
Mais je n'arrive pas a comprendre la fonction
function btn1(bou,p2,p3)
c'est-à-dire la ligne p2 = p3  et la ligne du execCommand.

Commentaire de Bul3 le 31/05/2009 12:07:04


execCommand :
     http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx

p2 = p2 ? p2 : false;
     p2 = ce qui est passé en paramètre, false sinon
p3 = p3 ? p3 : null;
     p3 = ce qui est passé en paramètre, null sinon


on clique sur un bouton,
son nom est = "http://site/répertoire/..../Paste.gif" par exemple
on en tire "paste"
( bou.src.substring(bou.src.lastIndexOf("/")+1,
  bou.src.lastIndexOf(".") )

et execCommand("Paste",flase,null) ça copie le presse-papier

voili, voilou.

Commentaire de benoure le 31/05/2009 14:27:25

Ok merci ^_^!!
essaye d'ajouter la fonction tableau !!
Donc il suffit que je mette l'image tableau et que j'appelle la fonction bouton ??!!

Commentaire de Bul3 le 31/05/2009 15:34:18

oui. si tu donnes le bon src au bouton
( ça n'existe pas déjà dans mon script ?
  un ch'tiot oubli alors .... )

Commentaire de benoure le 31/05/2009 16:22:58

g mis board.gif  !!
Mais ça marche pas !!

Commentaire de Bul3 le 31/05/2009 18:35:33

d'où te vient ce board ????
tu crois que execCommand("board",false,null) ça baigne ?
faut pas tenter de deviner ! ça ne marche jamais !
regarde la doc msdn ou autre. ça doit être indiqué.

Commentaire de poopoone le 08/10/2010 16:06:57

Salut, juste un message pour l'auteur, le script est génail, e viens de le découvrir, je teste un peu, et on verra, en local cest super pratique.

Commentaire de poopoone le 08/10/2010 16:47:27

désolé pour le double message, rajouter un "ajouter une image" et tableau ça serai cool :)

Commentaire de skyyfr le 29/04/2011 15:41:46 8/10

Vraiment super, utile, et sans fioritures. RESPECT.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Texte riche [ par senechjf ] Bonjour,J'ai fait un fomulaire d'ajout de news pour mon site en php.Cette news va dans une bd mysql.J'aimerai améliorer mon formulaire en offrant la p Editeur de texte pour news [ par jicao ] Bonjour,J'etais en train de chercher un bon script "&#233;diteur de texte" pour les news de mon site, quand je tombe sur ce forum avec son superbe &#2 wysiwyg inserer du texte directement dans iframe [ par jerame ] Bonjour a tous, je suis en train de faire un wysiwyg moins evoluer que javascriptfr. Les principaux utilisateurs qui vont utiliser le WYSIWYG sont su Editeur wysiwyg dans un div [ par picolo220 ] Bonjour, je suis en train d'essayer de réaliser un éditeur wysiwyg.Pour l'instant je m'intéresse seulement à firefox, je verrai plus tard pour IE.J'ai Editeur texte [ par jicay57 ] Bonjour, J'aimerais pouvoir créer un éditeur de texte pour ajouter des news sur un site. Il faudrait que l'administrateur puisse déposer des news via Textarea = WYSIWYG éditeur HTML [ par Blasteur ] Bonjour à tous !Je recherche un javascript qui soit intégrable dans un formulaire de la même manière qu'une textarea. Ce script est en fait un éditeur textarea = WYSIWYG éditeur HTML [ par Blasteur ] Bonjour à tous !Je recherche un javascript qui soit intégrable dans un formulaire de la même manière qu'une textarea. Ce script est en fait un éditeur appel de fonction qui marche pas [ par Totofweb ] Bonjour J'ai un script dans lequel un fonction doit etre executee dans une autre =&gt; showtip2(...);Je voudrais qu'en plus, un des parametre conte editeur html en javascript - pbs de suppression des tag [ par whiteknight ] Bonjour,j'ai un pbs avec un code si kk'un pouvait me donne run coup de main celaserait sympa ... voila mon pbsje suis en train de réalisé un mini edit couleur du texte d'une cellule ou la couleur du fond d'une cellule d'une table [ par rabdane ] J'aimerais avoir un javascript qui change la couleur du texte d'une cellule ou la couleur du fond d'une cellule d'une table appelé TABLE1.cette table


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,092 sec (4)

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