CKeditor Problème de champ vide sur système de commentaires
Fermé
Le-Spartan
Messages postés
6
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
16 janvier 2013
-
15 janv. 2013 à 20:45
Le-Spartan Messages postés 6 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 16 janvier 2013 - 16 janv. 2013 à 18:25
Le-Spartan Messages postés 6 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 16 janvier 2013 - 16 janv. 2013 à 18:25
A voir également:
- CKeditor Problème de champ vide sur système de commentaires
- Restauration systeme - Guide
- Comment supprimer une page vide sur word - Guide
- Formate pour taxer client frigo vide - Forum Loisirs / Divertissements
- Coeur vide ✓ - Forum Facebook
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
5 réponses
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
16 janv. 2013 à 08:42
16 janv. 2013 à 08:42
Salut,
Normalement pour intégrer Ckeditor de façon simple sur un textarea,il faut procéder de la façon suivante :
Devient :
Sans oublier l'appel au fichier "ckeditor.js" dans l'entête du document :
Normalement pour intégrer Ckeditor de façon simple sur un textarea,il faut procéder de la façon suivante :
<textarea name="commentaire"></textarea>
Devient :
<textarea name="commentaire"></textarea> <script> CKEDITOR.replace( 'commentaire' ); </script>
Sans oublier l'appel au fichier "ckeditor.js" dans l'entête du document :
<script src="/ckeditor/ckeditor.js"></script>
astuces72
Messages postés
7762
Date d'inscription
vendredi 15 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2024
1 639
16 janv. 2013 à 10:03
16 janv. 2013 à 10:03
slt
tu as un exemple ici même !!!
https://www.000webhost.com/migrate?static=true
je ne vois rien sur ta page commentaire qui fait appel au script ckeditor !?
tu as un exemple ici même !!!
https://www.000webhost.com/migrate?static=true
je ne vois rien sur ta page commentaire qui fait appel au script ckeditor !?
Le-Spartan
Messages postés
6
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
16 janvier 2013
16 janv. 2013 à 10:49
16 janv. 2013 à 10:49
O_o, j'ai un peu de mal,
pour faire appelle au script ckeditor il faut bien placer :
ensuite j'ai bien ajouté la classe comme sur ton lien a mon textarea :
Quelles seraient mes autres erreurs car sa ne fonctionne toujours pas ?
pour faire appelle au script ckeditor il faut bien placer :
<script src="/ckeditor/ckeditor.js"></script>entre les deux balise <head> et </head> ?
ensuite j'ai bien ajouté la classe comme sur ton lien a mon textarea :
<textarea name="commentaire"cols="60" rows="4" wrap="soft" class="ckeditor"></textarea>
Quelles seraient mes autres erreurs car sa ne fonctionne toujours pas ?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
Modifié par Alain_42 le 16/01/2013 à 10:27
Modifié par Alain_42 le 16/01/2013 à 10:27
salut,
tu fais appel a des fonctions JS:
Affiche_form_B()
Enregistrer_modifier()
où sont ces fonctions ? dans un fichier externe, je ne vois pas le lien vers ce fichier
quel est le code du script php qui récupère le nom et le commentaire ?
et comme disait tryan 44 il te manque la partie qui initialise ckEditor, ce que tu as c'est un textarea tout simple
EDit je viens de voir que tu est en train de modifier ton code
tu fais appel a des fonctions JS:
Affiche_form_B()
Enregistrer_modifier()
où sont ces fonctions ? dans un fichier externe, je ne vois pas le lien vers ce fichier
quel est le code du script php qui récupère le nom et le commentaire ?
et comme disait tryan 44 il te manque la partie qui initialise ckEditor, ce que tu as c'est un textarea tout simple
EDit je viens de voir que tu est en train de modifier ton code
Le-Spartan
Messages postés
6
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
16 janvier 2013
16 janv. 2013 à 10:59
16 janv. 2013 à 10:59
Salut,
Comme je le dis dans la question, c'est un système que j'ai pris sur internet je ne suis pas capable de le faire seul, les fonction sont inscritent dans un fichier javascript qui va de paire avec un autre fichier .php, j'ai écrit leur code dans le premier lien, je suis désolé il n'est pas très lisible, les commentaire sont enregistrés ensuite dans un fichier .txt
Comme je le dis dans la question, c'est un système que j'ai pris sur internet je ne suis pas capable de le faire seul, les fonction sont inscritent dans un fichier javascript qui va de paire avec un autre fichier .php, j'ai écrit leur code dans le premier lien, je suis désolé il n'est pas très lisible, les commentaire sont enregistrés ensuite dans un fichier .txt
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
16 janv. 2013 à 17:42
16 janv. 2013 à 17:42
Bon j'ai trouvé après pas mal de recherche:
pour lire en Javascript le contenu de ckeditor il ne faut pas faire Obj_formulaireB.nom.value;
mais utiliser.getData() sur l'objet CKEDITOR
j'ai donc modifié un peu la création de l'instance Ckeditor dans la page ainsi que la page commentaires.js
commentaires.js:
pour lire en Javascript le contenu de ckeditor il ne faut pas faire Obj_formulaireB.nom.value;
mais utiliser.getData() sur l'objet CKEDITOR
j'ai donc modifié un peu la création de l'instance Ckeditor dans la page ainsi que la page commentaires.js
<html> <head> <title>Ma page de commentaires</title> <script type="text/javascript" src="/ckeditor/ckeditor.js"></script> </head> <body> <!-- début du bloc commentaires, version 1.0 (06 novembre 2009)--> <script language="JavaScript" type="text/javascript"> var sujet='general'; // les dix premiers caractères serviront d'identification de la liste des commentaires var adressebase=''; // base d'adressage pour le fichier PHP de gestion des commentaires </script> <div id="laisseruncommentaire"> <form name="commentaire_bouton" id="commentaire_form_A" action="" method="" onsubmit="return false;" style="display: Block"> <input type="button" value="laisser un commentaire" onclick="Affiche_form_B()"> </form> <form name="commentaire_saisie" id="commentaire_form_B" action="" method="" onsubmit="return false;" style="display: None"> <fieldset> <legend>Vous pouvez saisir un commentaire ...</legend> Votre nom (<i><small>ou pseudo</small></i>):<br><input name="nom" type="text" size="20"><br> Saisissez le commentaire que vous voulez ajouter:<BR> <textarea name="commentaire" id="commentaire" cols="60" rows="4" wrap="soft" ></textarea> <!-- ci dessus supression de class="ckeditor" donc la creation de l'instance ckeditor se fait par le script ci dessous, avec comme nom objEditor --> <script language="JavaScript" type="text/javascript" > objEditor=CKEDITOR.replace("commentaire"); </script> <input name="annuler" type="button" value="Annuler" onclick="Annuler()"><br> <input name="envoyermodifier" type="button" value="Envoyer" onclick="Envoyer_modifier()"> <input name="terminer" type="button" value="Terminer" onclick="Terminer()" style="display: None"> </fieldset> </form> <div id="liste_des_messages"> </div> </div> <script language="JavaScript" type="text/javascript" src="commentaires.js"></script> <!-- fin du bloc commentaires --> <script type="text/javascript" src="commentaires.js"></script> <h2> </body> </html>
commentaires.js:
/* Fichier JavaScript: "commentaires.js" +------------------------------------------------------------------------------+ | Extension pour une fonction "ajout de commentaires" | | Tedheu 2009, version 1.0 (fr), mise à jour le 09 novembre 2009 | | Module script JavaScript externe | | fonctionne de paire avec le module PHP "gestioncommentaires.php" | +------------------------------------------------------------------------------+ */ //------------------ variables if (typeof sujet == "undefined") sujet='aucun'; // Adresse du module PHP de traitement et du fichiers des messages if (typeof adressebase == "undefined") adressebase=''; // //------------------ tirage d'un nombre aléatoire 'jeton' var jeton= Math.floor(Math.random()*2521008887); // //------------------ objets pour gérer l'affichage du formulaire var Obj_listemes= getObj('liste_des_messages'); var Obj_formulaireA= getObj('commentaire_form_A'); var Obj_formulaireB= getObj('commentaire_form_B'); // //------------------ création d'un objet XHR_commentaires (interface 'AJAX') var XHR_commentaires; if (window.XMLHttpRequest){ XHR_commentaires= new XMLHttpRequest(); // Firefox }else if (window.ActiveXObject){ XHR_commentaires= new ActiveXObject('Microsoft.XMLHTTP'); // Internet Explorer }else{ // ce type d'objet n'est pas supporté par le navigateur alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest ...'); } //------------------ actions immédiates Gestioncommentaires(sujet,0); // /*========= fonctions JavaScript =============================================*/ //--- gestion de la saisie de commentaire function Gestioncommentaires(sujet,action){ switch (action){ case 0: ressource = adressebase+'gestioncommentaires.php?sujet='+sujet+'&action=lecture&jeton='+jeton; XHR_commentaires.open('GET',ressource,true); datapost= null; break; case 1: ressource = adressebase+'gestioncommentaires.php?sujet='+sujet+'&action=ecriture&jeton='+jeton; XHR_commentaires.open('POST',ressource,true); var champ_nom = Obj_formulaireB.nom.value; var champ_com = objEditor.getData(); datapost = '&nom='+escape(champ_nom); datapost += '&message='+escape(champ_com); datapost= datapost.replace(/\+/g,'%2B'); XHR_commentaires.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); XHR_commentaires.setRequestHeader("Content-length", datapost.length); XHR_commentaires.setRequestHeader("Connection", "close"); break; } XHR_commentaires.onreadystatechange = function(){ // attribution de la fonction if (XHR_commentaires.readyState == 4){ Obj_listemes.innerHTML = XHR_commentaires.responseText; }else{ Obj_listemes.innerHTML = 'chargement en cours ...'; } } XHR_commentaires.send(datapost); } //--- function Affiche_form_B(){ Obj_formulaireA.style.display= 'None'; Obj_formulaireB.style.display= 'Block'; Obj_formulaireB.nom.focus() } //--- function Envoyer_modifier(){ incomplet= '0'; champ_nom= Obj_formulaireB.nom.value; champ_com= objEditor.getData(); if (champ_nom=='') Obj_formulaireB.nom.focus(); if ((champ_com=='') && (champ_nom!='')) Obj_formulaireB.commentaire.focus(); if ((champ_com=='') || (champ_nom=='')) incomplet= '1'; if (incomplet!='1') { Obj_formulaireB.envoyermodifier.value= 'Modifier'; Obj_formulaireB.terminer.style.display= 'Inline'; Gestioncommentaires(sujet,1); }else{ Gestioncommentaires(sujet,0); } } //--- function Annuler(){ Obj_formulaireB.nom.value= ''; Obj_formulaireB.commentaire.value= ''; Gestioncommentaires(sujet,1); Terminer(); } //--- function Terminer(){ Obj_formulaireB.style.display= 'None'; Obj_formulaireA.style.display= 'Block'; location.reload(); } //--- function getObj(Id){ var Obj; if (document.getElementById){ Obj = document.getElementById(Id); }else{ // sinon, tant pis ! alert('Votre navigateur ne supporte pas la sélection d\'objet à partir de son ID ...'); } return Obj; } /*========= fin du script ====================================================*/
Le-Spartan
Messages postés
6
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
16 janvier 2013
Modifié par Le-Spartan le 16/01/2013 à 18:13
Modifié par Le-Spartan le 16/01/2013 à 18:13
Merci infiniment sa fonctionne enfin, les commentaires se postent, mais j'ai un autre soucis les fonction(couleurs, centrer ... ) aucune ne fonctionnent, elles ne s'enregistrent pas dans le fichier.txt, je suis obliger de les mêttrent manuellement en éditant le fichier .txt moi même
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
16 janv. 2013 à 18:23
16 janv. 2013 à 18:23
oui effectivement, les balise html sont filtrées avant l'enregistrement, il faudrait modifier la liste dans gestioncommentaires.php
$tagspermis= '<b><i><u><a><br><small><img>';
et aussi modifier la barre d'outils que tu affiches dans ckEditor, pour cela il faut aller dans ckeditor/config.js pas besoin d'avoir la source, ni fichier notamment
et modifier la partie
attention aux [ ] et ,
fais toi une sauvegarde du fichier d'origine
$tagspermis= '<b><i><u><a><br><small><img>';
et aussi modifier la barre d'outils que tu affiches dans ckEditor, pour cela il faut aller dans ckeditor/config.js pas besoin d'avoir la source, ni fichier notamment
et modifier la partie
config.toolbar_MyToolbar = [ ......
attention aux [ ] et ,
fais toi une sauvegarde du fichier d'origine
Le-Spartan
Messages postés
6
Date d'inscription
mardi 15 janvier 2013
Statut
Membre
Dernière intervention
16 janvier 2013
16 janv. 2013 à 18:25
16 janv. 2013 à 18:25
ok, merci
16 janv. 2013 à 09:12