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 :

Recuperer valeur d'un ContentEditable


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Recuperer valeur d'un ContentEditable
    Bonjour,

    je me fait actuellement un editeur WYSIWYG perso et j'utilise le nouveau attribut html5, ContentEditable dans un div.

    Cependant je me suis jamais vraiment tourné vers javascript par ce que pour moi c'est un moyen lourd pour mettre en place quelque chose, mais vue la tournure des choses va bien falloir que je m'y m’êtes un jour :p (Je dit ça au point de vue Ajax/jQuery et tout le reste , par ce que c'est l'avenir, on l'a bien compris...)

    Donc je cherche a récupéré mon div , pour le stocké dans une variable PHP, j'ai cru comprendre qu'il me faut un GetElementByID ? j'en fais quoi de ça moi après ? :p

    Voila, merci de votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("idDuDiv").innerHTML;
    A+

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    je croyais que l'attribut ContentEditable ne fonctionnait sur les div que sous IE. Je me trompe ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    il me semble l'avoir utilisé sur autre chose que du div ...

    oui je viens de tester div span label ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    il me semble l'avoir utilisé sur autre chose que du div ...

    oui je viens de tester div span label ...
    Mais cet attribut fonctionne ailleurs que sous IE ? Pas sûr.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    je suis surpris de voir que ça passer sous ffx en tout cas !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Auteur Voir le message
    Mais cet attribut fonctionne ailleurs que sous IE ? Pas sûr.
    Oui, ça fait un petit moment que contentEditable est accepté par les principaux navigateurs. Le problème réside surtout dans le comportement qui lui peut être assez différent

    @bioslord : contentEditable n'est pas spécifique au HTML5
    Cependant je me suis jamais vraiment tourné vers javascript par ce que pour moi c'est un moyen lourd pour mettre en place quelque chose
    On doit pas parler du même JavaScript alors
    Enfin, si tu trouves que Flash par exemple est moins lourd...
    je cherche a récupéré mon div , pour le stocké dans une variable PHP
    Ben à partir du moment où tu es coté navigateur, il n'y a plus de PHP !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Oui, ça fait un petit moment que contentEditable est accepté par les principaux navigateurs.
    En un mot je ne suis plus à jour

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    Une nouvelle version de Auteur est disponible en téléchargement ...
    Voulez-vous la mettre à jour ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Une nouvelle version de Auteur est disponible en téléchargement ...
    Voulez-vous la mettre à jour ?

    La mise à jour est moins poilue ?

    Sinon, pour être plus précis, j'ai développé il y a peu un petit éditeur wysiwyg à base de contentEditable, avec mise à jour des modifs sur le serveur.

    J'aimerais en faire profiter la communauté, mais ce sera quand j'aurais le temps d'adapter un exemple fonctionnel (et c'est pas gagné ).
    Bref, pour faire simple, contentEditable est bien cross-browser, en revanche, même si execCommand (sans lequel contentEditable n'est pas très intéressant) l'est aussi, son fonctionnement et les résultats sont trop peu prévisibles pour pouvoir constituer une solution grand public. Par exemple, IE ne l'accepte que sur une sélection, c'est utile pour mettre en gras, souligner etc. mais un peu plus perturbant pour insérer une image, une ligne horizontale ou autre... En plus, la gestion des paragraphes (balises <p>) est assez aléatoire au niveau du HTML généré ce qui rend l'édition d'une portion déjà modifiée assez délicate, voire ingérable si l'on ne connait pas le HTML et certains comportements...

    Donc en résumé, assez sympa à développer comme "Proof Of Concept", mais pas suffisamment fiable pour être une solution envisageable.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par Bovino Voir le message

    La mise à jour est moins poilue ?
    Toi, tu n'as qu'un bouc


    Citation Envoyé par Bovino Voir le message

    Bref, pour faire simple, contentEditable est bien cross-browser, en revanche, même si execCommand (sans lequel contentEditable n'est pas très intéressant) l'est aussi, son fonctionnement et les résultats sont trop peu prévisibles pour pouvoir constituer une solution grand public. Par exemple, IE ne l'accepte que sur une sélection, c'est utile pour mettre en gras, souligner etc. mais un peu plus perturbant pour insérer une image, une ligne horizontale ou autre... En plus, la gestion des paragraphes (balises <p>) est assez aléatoire au niveau du HTML généré ce qui rend l'édition d'une portion déjà modifiée assez délicate, voire ingérable si l'on ne connait pas le HTML et certains comportements...
    Tu n'insères pas les éléments en utilisant le DOM ?

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Auteur
    Toi, tu n'as qu'un bouc


    Citation Envoyé par Auteur
    Tu n'insères pas les éléments en utilisant le DOM ?
    Non, ce n'est pas le fonctionnement de contentEditable. Le but est de rendre un élément HTML éditable en direct. En gros, tu cliques sur une div et son contenu est modifiable. Mais d'une part, tu n'as pas vraiment la main sur ce qui est modifié et surtout, si tu veux être wysiwyg, il faut ajouter une possibilité de mise en forme, d'où l'utilisation de execCommand. Mais dans tous les cas, tu travailles sur des Range qui sont au final très peu compatibles avec le DOM dans la mesure où le DOM est l'interface entre la structure sémantique de ta page et tes scripts alors que contentEditable (et l'objet Range par extension) est plus l'interface entre ce qui est affiché et le script... Or entre les deux, il y a un monde
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos reponse =)

    On doit pas parler du même JavaScript alors
    Enfin, si tu trouves que Flash par exemple est moins lourd...
    Oh non, loin de la c'est simplement que le JS a souvent été utilisé pour des popup et truc du genre, du coups ça m'a marqué et je suis plus parisant du Pure CSS, si tu vois ce que je veux dire

    Heu si non, pour contenteditable, j'ai dit HTML5 parce que je l'ai lu la : http://www.w3.org/TR/html5/editing.html#contenteditable
    Il sert vraiment juste a rendre le texte modifiable dans le navigateur, mais en y reflechisant bien, je sais pas si c'est très sécurisé de faire un WYSIWYG comme ça, parce que bon, si on recupere le contenu du Div c'est dans la source et elle pourait etre modifié par un script externe ou autre, non ? (Extension chrome, firefox par exemple...)

    Ben à partir du moment où tu es coté navigateur, il n'y a plus de PHP !
    Oui, mais y'aura toujours un petit button submit pour envoyer sur une BDD, donc une fois recupérer le contenu du div avec du JS, on le stock dans une veriable PHP, et pouf on envoie la variable chez MySQL avec le submit.

    Donc quelle solution envisager alors ? Peut etre attendre un peu pour que ça ce developpe ? ^^

    J'avais essayé Aloah Editor (Editeur WYSIWIG qui fait du html5 avec menu flottant), qui est vraiment sympa, peut etre un peu jeune (un peu beaucoup) Dommage ça sera pour une prochaine fois ^^

    Heu si non, c'est plus vraiment dans la section, mais si quelqu'un a une solution PHP en tête?


    @Bovino:
    Dès que tu as un exemple fonctionnel, je veux voire

Discussions similaires

  1. [sgbd] Recuperer valeurs d'un Select dans un tableau
    Par Mu_Belier dans le forum SGBD
    Réponses: 16
    Dernier message: 27/05/2005, 15h46
  2. Réponses: 10
    Dernier message: 10/05/2005, 11h35
  3. [C#] Custom Control : Recuperer valeur formulaire
    Par victorbru dans le forum ASP.NET
    Réponses: 22
    Dernier message: 21/04/2005, 09h02
  4. [STRUTS] Recuperer valeurs d'une url enrichi ?
    Par Ev3rGlide dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/04/2005, 11h39
  5. [DateTimePicker]Recuperation valeur date
    Par jane2002 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/02/2003, 11h29

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