Tinymce, liaison PHP.

Signaler
Messages postés
85
Date d'inscription
samedi 30 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
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 ;)
A voir également:

5 réponses

Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
5
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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
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
Messages postés
85
Date d'inscription
samedi 30 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009

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
Messages postés
85
Date d'inscription
samedi 30 juillet 2005
Statut
Membre
Dernière intervention
7 mai 2009

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>
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
>>Ç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... )

@+