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

Bibliothèques & Frameworks Discussion :

Comment récupérer le contenu d'un editor dans une var JS [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier
    Homme Profil pro
    Analyste développement logiciel
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste développement logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 82
    Points
    82
    Par défaut Comment récupérer le contenu d'un editor dans une var JS
    Bonjour à tous,

    J'ai créé sur une page un petit éditeur dojo

    (je n'ai gardé l'essentiel du code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
    new dijit.Editor({
    		    plugins: ["bold","italic","|","cut","copy","paste","|","insertUnorderedList"]
    		}, "contact_message");
    	    })
    </script>
     <div style="width:650px;min-height:100px;" id="contact_message"></div>
    et j'aimerais récupérer le contenu de ce qui est tapé en JS et l'envoyer en ajax
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var content = dojo.byId('contact_message').value;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var content = dojo.byId('contact_message').innerHTML;
    Qui ne fonctionne pas

    Quelqu'un pourrait me dire comment récupérer ce contenu?

    Merci

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour et bienvenue sur DVP.
    Il te faut utiliser les méthodes de l'objet dijit.Editor et non celle du DOM, donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var oEditeur = dojo.byId('contact_message');
    alert( oEditeur.get('value'));

  3. #3
    Membre régulier
    Homme Profil pro
    Analyste développement logiciel
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste développement logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 82
    Points
    82
    Par défaut
    Bonjour NoSmoking,

    Merci pour cette réponse qui m'a permis de mieux comprendre les concepts des Dijit.
    Par contre, ça ne fonctionne pas, mais on dirait que la raison vient qu'il prend contact_message pour un bête div.
    Lors que je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert( oEditeur.get('value'));
    Il me dit que get() n'est pas une fonction.
    si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(lang.getObject("contact.style.width"));
    Il m'indique bien le witdh, mais si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(lang.getObject("contact.value"));
    Il me renvoie undefined.
    Tout ce qui se trouve ici ne fonctionne pas:
    http://dojotoolkit.org/api/1.8/dijit/Editor
    Pourtant, au niveau du navigateur, mon div est bien un rich text (avec les boutons B pour le gras, I pour italique, ...)
    Peut-être dois-je donner un nom à mon objet dijit.Editor et que c'est à lui que je dois utiliser get et pas à l'id de mon div qui reçoit l'éditor.

  4. #4
    Membre régulier
    Homme Profil pro
    Analyste développement logiciel
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste développement logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 82
    Points
    82
    Par défaut
    Ok, ça marche avec un get sur l'objet dijit.Editor

    Donc j'ai ajouté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
    var msgEditor = new dijit.Editor({
    		    plugins: ["bold","italic","|","cut","copy","paste","|","insertUnorderedList"]
    		}, "contact_message");
    	    })
    </script>
     <div style="width:650px;min-height:100px;" id="contact_message"></div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert(msgEditor.get('value'));
    Et ça fonctionne.

    Alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dojo.byId('contact_message');
    me renvoie l'objet div et pas l'objet Editor.

    D'ailleurs, quelqu'un sait-il s'il y a moyen de récupérer l'objet Editor à partir de l'id sur laquelle il est connecté (contact_message dans mon exemple)?

    En tout cas, merci NoSmoking pour ce coup de main, sans ton message, je partais dans une mauvaise direction.

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

Discussions similaires

  1. Comment récupérer le contenu d'un item dans une JList ?
    Par julie_lab dans le forum Composants
    Réponses: 3
    Dernier message: 01/11/2010, 12h25
  2. [MooTools] Request,comment récupérer le contenu pour l'utiliser dans le script ?
    Par dawadam dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 09/07/2008, 23h22
  3. Réponses: 1
    Dernier message: 29/09/2007, 09h46
  4. Réponses: 23
    Dernier message: 07/02/2006, 17h55

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