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 :

Connaitre le nombre de caractères en temps réel [CKEditor]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Points : 23
    Points
    23
    Par défaut Connaitre le nombre de caractères en temps réel
    Bonjour à tous !

    J'aimerais connaître en temps réel le nombre de caractères saisis dans FCKeditor afin de prévenir le rédacteur s'il dépasse le maximum autorisé.

    Pour connaître la longueur, j'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var longueur = FCKeditorAPI.GetInstance("nom_instance").GetHTML().length;
    Ca marche très bien lors de la validation du formulaire, mais je voudrais que ce calcul se fasse à chaque fois que le texte est modifié. J'avais pensé à un évènement genre onKeyDown, mais où le mettre pour que ça marche ? J'ai bien pensé à la balise textarea dans fckeditor.js, mais ça ne me donne rien...

    Merci d'avance pour vos idées !

    Fred

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut uhm...
    c aps trop du php tout ca, essai de poster dans le forum javascript plutot
    Conception / Dev

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Ben, je poste sur le forum FCKeditor. Je sais bien que ce n'est pas du PHP, mais c'est là que les admins ont placé cette rubrique...

    Maintenant, si je poste sur Javascript, y a risque de doublon. Mais je vais faire un lien dans la rubrique javascript pour que les spécialistes puissent le voir !

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Ben ca a beau etre du FCKEditor c'est vrai que ton problème est purement javascript pour moi. Mais je n'ai jamais utilisé FCKEditor donc je sais pas jusqu'où tu peux aller avec.

    Pour ton probleme moi j'utiliserai l'évènement onChange dans ton textarea, essaie de faire un truc simple comme un alert('') pour voir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="montxt" onchange="javascript:alert('Nb caracteres : ' + montxt.value.length);" />
    Ou quelquelquechose du style, ca devrait t'afficher une alerte a chaque fois que tu changes qqch dans le textarea

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Oui je suis d'accord, c'est du javascript. Un peu naïvement, j'ai vu une rubrique FCKeditor et la présence du PHP dans l'arborescence du forum ne m'a pas interpellé.

    Bon, ceci dit, j'ai écrit un message dans la rubrique javascript qui redirige ici afin que les javascripteurs puissent le voir de suite.

    Sinon j'ai testé ton code (le textarea se trouve dans le fichier fckeditor.js), mais ça ne donne rien... Merci quand même !!

    Fred

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <script type="text/JavaScript">
    function valider(){
    <!-- si on depasse le nombre-->
    alert (document.getElementById("ct").innerHTML);
    }

    function textchange(text1){
    <!-- on compte-->
    if(text1.length<10){
    document.getElementById("ct").innerHTML =text1.length;
    }
    else {
    alert (text1.length);
    }
    }




    </script>
    <title>tu peu essayer ca </title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>

    <!-- bon un peu de javascript dans du html-->

    <form name="f" class=" " action="Javascript:valider();" method="post">
    <input type="text" onkeyup="Javascript:textchange(document.f.text1.value);" name="text1" value="entrez votre text"/>
    <input type="submit" name="valider" value="envoyer" />
    </form>





    <!-- et la le conteneur pour voir au fur et à mesure le nombre de lettres-->
    <div id="ct"></div>

    </body>
    </html>




    dit moi si ca fonctionne
    Conception / Dev

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    @ ascito : Merci pour ton code. malheureusement, ça ne marche pas. FCKeditor place le texte dans une balise textarea, située qui plus est dans un fichier javascript.

    En regardant le code source, le textarea n'apparait pas, juste un input de type hidden, et encore ne contient-il que le texte par défaut, avant modification.

    Malgré plusieurs essais, aucun évènement (onkeyup, onkeydown, onchange) placé dans le textarea ne semble modifier quoi que ce soit. Il faut sûrement utiliser du javascript faisant référence à l'instance FCKeditorAPI.GetInstance, mais je n'en sais pas plus...

  8. #8
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    J'ai finalement trouvé en farfouillant sur le wiki de FCKeditor. Voici la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // Compteur de caracteres dans l'editeur
    function FCKeditor_OnComplete(editorInstance) {
        if(editorInstance.Name == "FCKeditor1") {
        	editorInstance.Events.AttachEvent('OnSelectionChange', DoSomething);
        	editorInstance.Events.AttachEvent('OnPaste', DoSomething);
        }
    }
     
    function DoSomething(editorInstance) {
    	var longueur = editorInstance.GetHTML().length;
    	// Et là, on fait les tests qu'on veut
    }
    Le fonction FCKeditor_OnComplete est appelée à la fin du chargement de l'éditeur dans la page. On peut ensuite lui associer les évènements désirés.

    Fred

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    ca peu etre en effet bien pratique, mais si je comprends c dans un des fichiers .Js que tu implémente le bout de code, lequel?
    Conception / Dev

  10. #10
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par ascito
    ca peu etre en effet bien pratique, mais si je comprends c dans un des fichiers .Js que tu implémente le bout de code, lequel?
    Au début, je l'avais mis dans le fichier fckeditor.js (le fichier métier), mais ça ne marchait pas.

    Je l'ai finalement mis dans un fichier javascript classique que j'appelle dans la balise <head> de mon fichier html et là, ça marche sans problème.

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 21/11/2012, 13h04
  2. connaitre le nombre de caractères
    Par vince2005 dans le forum Shell et commandes POSIX
    Réponses: 3
    Dernier message: 06/08/2012, 18h34
  3. [WD10] connaitre le nombre de caractères dans une chaine
    Par elscorpio dans le forum WinDev
    Réponses: 3
    Dernier message: 27/07/2010, 09h36
  4. Réponses: 15
    Dernier message: 26/04/2009, 16h08
  5. Connaitre le nombre de caractère ";" dans un champ
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/11/2004, 17h36

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