IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] tinyMce et ajax


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Par défaut [AJAX] tinyMce et ajax
    Bonjour

    J'essaie d'utiliser un editeur wysiwyg javascript (en l'occurence tinyMce) dans un formulaire récupéré via httprequest. Mais l'editeur ne s'affiche pas, alors qu'il s'affiche correctement si j'appele directement le fichier php correspondant. Ce problème semble rejoindre celui déjà rencontré avec du js qui ne s'exécute pas dans une réponse httprequest, sauf que le js en question est tinyMce, et donc, dur de mettre les mains la dedans.

    Quequ'un a-t-il résolu ce pb, eventuellement en adoptant un autre éditeur ?

    Merci d'avance

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Par défaut
    J'ai résolu mon problème.
    Dans la fonction qui récupère le résulat de la requête AJAX pour l'insérer dans un DIV, j'ajoute
    tinyMCE.execCommand('mceAddControl', true, 'id du textarea à replacer par l'editeur');
    // pour ajouter l'éditeur
    tinyMCE.execCommand('mceFocus', true, 'id du textarea' );
    //pour qu'il récupère le focus.

    Il faut aussi prévoir un moyen de renvoyer le contenu de l'aditeur dans le formulaire par la méthode post de la requête ajax.
    Moi, j'ai simplement insérer le contenu de l'éditeur dans le textarea :

    $('id du textarea').innerHTML=tinyMCE.getContent();

    Mais ça m'a pas l'air très catholique.

    Enfin bon, ça marche.

  3. #3
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    1000mercis ! C'est exactement ce que je voulais !!!

    Voici mon code fffd

    /* Dans dojoTiny.html qui contient la page à éditer */
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <script type="text/javascript">             
                function insertEditor(){
     
     
                    new Ajax.Updater(
                        'food',
                        './insertTinyMCE.html'
     
                    );
                    tinyMCE.execCommand('mceAddControl', true, 'food');
                    // pour ajouter l'éditeur
                    tinyMCE.execCommand('mceFocus', true, 'food' );
                    //pour qu'il récupère le focus.
     
                    $('food').innerHTML=tinyMCE.getContent();
     
     
                }
            </script>
    /* Et dans insertTinyMCE.html qui est appelé par la requète Ajax */
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <textarea name="content2" cols="50" rows="15"> 
              du contenu remplacé
    </textarea>
    Alors plutot que d'utiliser
    $('food').innerHTML=tinyMCE.getContent(); Il est possible d'appeler via ajax une page php ou jsp qui incluera dynamiquement le contenu, je crois.

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Après vérifications,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $('food').innerHTML=tinyMCE.getContent();
    n'est pas utile et génère une errreur javascript.
    Je ne sais pas trop par quel miracle tout fonctionne sans cette ligne.

  5. #5
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Bon en fait, j'ai rien compris au schmilblick.
    Dans mon code, nul besoin de requete ajax si le code javascript de tinyMCE est déjà appelé par la page de base.

    En faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tinyMCE.execCommand('mceAddControl', true, 'food');
                    // pour ajouter l'éditeur
                    tinyMCE.execCommand('mceFocus', true, 'food' );
                    //pour qu'il récupère le focus.
    cela appelle l'ajout de l'éditeur, sans passer par ajax.

  6. #6
    Membre confirmé Avatar de karimphp
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 183
    Par défaut
    merci beaucoup pour ce truc mais je trouve que TinyMce ce répète plusieurs fois après envoi via ajax si j'ajoute ces ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    tinyMCE.execCommand('mceAddControl', true, 'food');
                    // pour ajouter l'éditeur
               tinyMCE.execCommand('mceFocus', true, 'food' );
                    //pour qu'il récupère le focus.
    $('food').innerHTML=tinyMCE.getContent();
    donc j'ai supprimé ces instruction mes j'ai conservé la dernière commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('food').innerHTML=tinyMCE.getContent();
    alors la j'ai rencontré un autre problème c'est que les champs select de style et de size devienne désactivé après envoi
    il ya il une solution ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] TinyMCE
    Par Shandler dans le forum AJAX
    Réponses: 0
    Dernier message: 21/10/2009, 15h46
  2. [STRUTS][AJAX]Quel framework AJAX avec Struts
    Par woodwai dans le forum Struts 1
    Réponses: 24
    Dernier message: 12/03/2009, 16h19
  3. [AJAX] tinyMce et la methode post via ajax
    Par karimphp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/04/2008, 15h30
  4. [TinyMCE] Problème AJAX
    Par karimphp dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 19/01/2008, 10h33
  5. [AJAX] Autocomplétion + méthode Ajax
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/10/2005, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo