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

JavaScript Discussion :

Récupérer la valeur de textarea du CodMirror


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 112
    Points : 48
    Points
    48
    Par défaut Récupérer la valeur de textarea du CodMirror
    j'ai créer un éditeur avec CodeMirror, mon problème c'est que je n'arrive pas à récupérer la valeur entrée dans l'éditeur.

    voici le code que j'ai essayé pour le moment

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var editor =  CodeMirror.fromTextArea(document.getElementById('editor'), {
              lineNumbers :true,
              indentUnit: 4,
              matchBrackets: true
            });
    et je récupère l avaleur comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var editor_value = editor.getValue();
    l'erreur qui s'affiche c'est
    TypeError: editor.getValue is not a function

  2. #2
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 578
    Points
    578
    Par défaut
    Bonsoir,

    Ma question est bête, sans doute, mais je préfère la poser tout de même. J'ai voulu faire un test de codeMirror, afin d'étudier votre question, mais j'obtiens une page vide. Qu'est-ce qui cloche dans ce que j'ai écrit?

    Code html : 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
    <!DOCTYPE html>
    <html>
     
    <head>
    <meta charset="utf-8">
    <script src="codemirror/lib/codemirror.js"></script>
    <link rel="stylesheet" href="codemirror/lib/codemirror.css">
    <script src="codemirror/mode/javascript/javascript.js"></script>
    <script>
    var myCodeMirror = CodeMirror(document.body);
    </script>
     
    </head>
     
    <body>
     
    </body>
     
    </html>

  3. #3
    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,

    @eleydet : document.body n'existe pas encore au moment où tu l'utilises.

    @chemsoun : ton problème doit être identique.

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 578
    Points
    578
    Par défaut
    Bonsoir,

    Merci NoSmoking. Depuis le temps que je programme, je ne devrais plus commettre cette erreur...

    J'ai donc testé. Il ne s'agit pas d'un simple "textarea". L'application ajoute toutes sortes d'éléments en plus. Il faut donc utiliser une des fonctions de la bibliothèque. Laquelle? Voir la documentation. editor.getValue() ne semble pas fonctionner.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    Bonsoir

    merci pour vos réponses, j'ai même essayer avec et j'ai le même erreur disant que ce n'est pas une fonction, ça semble qu'il y a un problème dans la bibliothèque non ?

  6. #6
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    C'est bien la méthode editor.getValue() qu'il faut utiliser apparemment et eleydet a raison l'application ajoute beaucoup de choses à la textearea, dans l'exemple ci-dessous il y a les numéros de ligne, la coloration syntaxique, l'indentation...

    J'ai fait un test ici : http://jsbin.com/golememozu/1/edit?html,output

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    j'ai constater une autre chose, lorsque je pointe vers comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     var editor_value = $('#editor').val();
    et j'essaye d'afficher la valeur retournée avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log('valeur : ' + editor_value);
    j'obtient un résultat vide

    et lorsque j'utilise une simple tout fonctionne pafaitement

  8. #8
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Mais je ne comprends pas quel est l’intérêt d'obtenir le contenu de la textarea si on utilise codeMirror ?

  9. #9
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Je viens de voir qu'on peut très bien récupérer le contenu de la textarea mais j'en vois pas l’intérêt car si on modifie le code en utilisant l'éditeur codeMirror cela ne modifie pas le contenu de la textarea par conséquent si on veut récupérer le code que l'on a tappé il faut utiliser les méthodes spécifiques de l'éditeur codeMirror...

    Je pense que la textarea sert surtout à indiquer où on veut que l'éditeur codeMirror soit placé...

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    les méthodes de l'éditeur CodeMirror ne fonctionnent pas, j'ai essayer autant de méthodes comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getValue(), setValue(), getCode()
    , et d'autres et j''ai le même erreur

  11. #11
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    J'ai déjà répondu à ça, as-tu lu mon message 6 ? J'y ai mis un lien où tu peux tester et chez moi ça marche...

    J'ai fait d'autres tests, on peut lire le contenu de la textarea car elle n'est pas supprimée, elle est juste rendue invisible alors j'ai fait un code où on peut la faire réapparaitre et modifier son contenu... Ainsi on peut modifier les contenus et les afficher et alors on voit bien qu'ils sont indépendants...

    Voici le lien : http://jsbin.com/koheqowotu/edit?html,output

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    merci pour vos réponses, j'ai remarquer dans le lien que vous avez déjà mis le texte à récupérer entre la balise textarea, ce que je veut c'est récupérer le texte tapé par l'utilisateur dans l'éditeur

  13. #13
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Oui j'ai bien compris, le texte qui est au départ dans la textarea est affiché dans l'éditeur codeMirror mais ça c'est juste au début...

    Mais si tu modifies le contenu de l'éditeur codeMirror et que tu l'affiches en cliquant sur le bouton alors tu verras le texte que tu as tapé...

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    merci, ça marche la solution était là et je l'es même pas considérer. j'ai essayer plusieurs solution que tout tout semble le même

  15. #15
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    De rien...Tant mieux si ça marche.

    Si tu veux que l'éditeur codeMirror soit vide au début il suffit de vider la textarea dans le code html...

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

Discussions similaires

  1. [CKEditor] Récupérer la valeur du textarea par javascript
    Par junior2386 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 09/11/2011, 14h56
  2. Récupérer la valeur de mon textarea
    Par vivi21 dans le forum Langage
    Réponses: 3
    Dernier message: 07/01/2011, 10h44
  3. [TinyMCE] Comment récupérer la valeur d'un textarea avec javascript ?
    Par rasdri dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 29/11/2007, 19h53
  4. Récupérer une valeur d'un textarea
    Par DanaX dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 20/06/2007, 15h49
  5. Récupérer une valeur avec un textarea
    Par Viau dans le forum Langage
    Réponses: 6
    Dernier message: 14/02/2006, 17h09

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