Bonjour,
je suis en train d'écrire mon petit cms maison et tout va bien SAUF un détail sur lequel je me casse les dents depuis maintenant 24 heures de recherche sur les forums tant francophones d'anglophones.
Je voudrais utiliser FCKeditor 2.6 pour des raisons qui me sont propre (entres autres un image files manager gratuit) sur un textarea d'un formulaire que j'envoie en ajax sur un fichier editarticle.php.
Le formulaire (que je simplifie à un textarea et un type option):
L'integration de FCKeditor:
Code : 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 <form method="POST" id="register"> <p><label for="titre" class="gauche">Titre de l'article:</br> <input type="text" name="newtitre" value="<?php echo $titre; ?>" size="30" /></label></p> <p><label for="categories">Catégories:</br> <select name="categorie"> <option value="4">Activités</option> <option value="2">Galeries</option> <option selected value="5">Fiches</option> </select></label> <p><label for="texte">Texte de l'article:<br> <textarea id="plain" name="newtexte" cols="50" rows="5">Du texte</textarea></label></p> <input type="hidden" name="id" value="<?php echo $id; ?>" <label for="validation" class="droite">Validation: <p><input type="submit" class="gauche" value="Sauver" /></form></p>
Et le script qui envoie le tout vers mon fichier .php pour modifier la BDD:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <script type="text/javascript"> window.onload = function() { var oFCKeditor = new FCKeditor( 'plain' ) ; oFCKeditor.Height = "400"; oFCKeditor.BasePath = "ajaxfilemanager/fckeditor/" ; oFCKeditor.ReplaceTextarea() ; } </script>
Mon problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <script type="text/javascript"> $(document).ready(function(){ $('#register').submit(function(){ var data = $(this).serialize(); $.post('editarticle.php',data,function(html){ $('#done').html(html); $('#ok').corner("round 4px").delay(4000).fadeOut(2400); }) return false; }); }); </script>
Quand je clique sur le bouton submit, toutes les données sont enregistrées sur la base de données SAUF le contenu modifié de la textarea gérée par FCKeditor ce dernier reste identique à ce qu'il était avant d'être édité. Pour y sauvegarder le contenu modifier de la textarea, il faut appuyer une seconde fois sur "submit" et, là, ça marche.
Mais bon, il faut appuyer deux fois... c'est pas d'une élégance à toute épreuve.
A mon avis, mon problème a sa source dans le javascript (probablement dans la fonction jquery serialize()) et, comme en javascript, ma connaissance ne va pas plus loin que quelques fonctions jquery, je patauge lamentablement dans la farine.
Quelqu'un aurait-il une piste vers où lancer mes investigations ?
Merci de votre attention.![]()
Partager