Tinymce, liaison PHP.

xeroxiss Messages postés 85 Date d'inscription samedi 30 juillet 2005 Statut Membre Dernière intervention 7 mai 2009 - 2 avril 2009 à 02:14
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 2 avril 2009 à 12:45
Hello hello à tous

Je poste ici car j'en peut plus de chercher et de rechercher lol.

Alors je viens pas demander qu'on me serve le code sur un plateau mais svp, mettez moi sur la piste !

Voilà mon problème est que je voudrais utiliser Tinymce un éditeur de texte assez sympa, mais je ne parviens pas a transférer ma variable qui contient le html de ma texarea en Php.

Je récupère bien le texte mais il est brut, sans couleurs ni mise en page.

Donc si vous avez des tuyaux je suis preneur !

Merci à tous ;)

5 réponses

jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
2 avril 2009 à 02:45
Habituellement lorsque l'on crée un éditeur WYSIWYG on utilise un DIV avec contenteditable=true.

Donc, il ne faut pas chercher la valeur du textarea mais le contenu du DIV (document.getElementById('id').innerHTML)

En espérant avoir pu t'aider ;)

JDMCreator
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
2 avril 2009 à 09:18
Bonjour,

un div ontenteditable est exclusif IE
c'est plutôt un iframe avec .designMode='On';

>>mais je ne parviens pas a transférer ma variable qui contient le html de ma texarea en Php.
>>Je récupère bien le texte mais il est brut,
ah?
tu ne parviens pas à transmettre ?
        ce doit être dans un champ d'un formulaire, qui a un nom et un value
ou tu récupères bien le texte mais il est brut, ???
        c'est l'un ou l'autre !
        dans un textarea, les balises sont ignorées,
        tout y est géré comme du texte
        il faut le retransférer  vers le innerHTML d'un iframe
        ( ou un div ou autre... ) pour voir le wysiwyg

Cordialement [mon Site] [M'écrire] Bul
0
xeroxiss Messages postés 85 Date d'inscription samedi 30 juillet 2005 Statut Membre Dernière intervention 7 mai 2009
2 avril 2009 à 10:56
Salut,

Merci pour vos réponses.

Enfaite, habituellement, je récupère ma variable (texarea, input, etc..) en php en faisant  :

$valeur = $_POST['valeur'];

Mais dans ce cas, cela ne fonctionne pas, car cette variable me retourne du texte, sans balises !

Ce que je ne parviens pas à effectuer c'est de transmettre une variable JS en PHP.
J'ai lu beaucoup de personne qui disent : JS Langage Client et PHP Langage Serveur.
Donc incompatibles ?!

TinyMce propose une solution simple pour récupérer le html c'est :

[javascript:; [Get selected HTML]]

Ça fonctionne mais encore une fois, pour passer ça en PHP, c'est la galère.

Enfin, merci de vos réponse et mille excuse de mon ignorance !

Bonne journée
0
xeroxiss Messages postés 85 Date d'inscription samedi 30 juillet 2005 Statut Membre Dernière intervention 7 mai 2009
2 avril 2009 à 11:00
Ah je ne sais pas si ça peut aider mais je vais vous joindre mon code, en plus, "j'ai" (sur un forum) trouvé un moyen de traité la textarea. (Enfin il reste toujours le problème du php pour transmettre à une base ou autre).

Merci

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Full featured example</title>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js"></script>
<!-- TinyMCE -->
<script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" src="tiny_mce/tinyinit.js"></script>
<!-- /TinyMCE -->
</head>

<form method="post" action="editer.php" method="post">
   

        <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
       

            <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
            </textarea>
       

       
       
   

</form>
<script type="text/javascript">
function ajaxSave() {
    var ed = tinyMCE.get('elm1');//Récupéraction du textearea
   
    //Encodage pour passe en GET ou POST sans erreur
    var content = ed.getContent().replace(/\+/g, "&#43");
    content = content.replace(/\\/g, "&#92");
    content = escape(content);
    // Fin encodage
    ed.setProgressState(1); // Show progress
   
    window.setTimeout(function() {
        ed.setProgressState(0); // Hide progress
        alert(content);// METTRE ICI LA REQUETE AJAX
    }, 1000);
}

Event.observe('submit', 'click', function() {
    ajaxSave();
});
</script>

</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
2 avril 2009 à 12:45
>>Ça fonctionne mais encore une fois, pour passer ça en PHP, c'est la galère.
ben... comme dit, ce qui est transmis au php
c'est un champ ( input, textarea .. ) dans un formulaire,qui  a un name, et un .value
il te suffit de mettre dans le value ce que tu veux transmettre

mais ce que tu nous fais voir c'est ajax ?
dans ce cas pas de formulaire, sauf à ce que tes foultitudes
de bibliothèques de fonctions ne simulent ça
on passe les données dans le send ( ou dans l'url pour le method get )

prototype + scriptaculous + tiny_mce ! pfff... combien de mega ?
( tout ça probablement pour quelques effets de présentation... )

@+
0
Rejoignez-nous