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

jQuery Discussion :

FCKeditor, JQuery et ajax. Envoi au bout du second clic.


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Par défaut FCKeditor, JQuery et ajax. Envoi au bout du second clic.
    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):

    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&eacute;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>
    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
    <script type="text/javascript">
    window.onload = function()
    {
    var oFCKeditor = new FCKeditor( 'plain' ) ;
    oFCKeditor.Height = "400";
    oFCKeditor.BasePath = "ajaxfilemanager/fckeditor/" ;
    oFCKeditor.ReplaceTextarea() ;
    }
     
     
    </script>
    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
    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>
    Mon problème:

    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.

  2. #2
    Membre expérimenté Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Par défaut
    J'ai peut être une idée

    1- Change ton submit en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('#register').submit(function(){
    	return false;
    	});
    2- Ajoute un simple "button" et non pas un submit, et tu lui attribue un événement au clic.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $('ton bouton').click(function(){
           $('#register').trigger('submit');
           var data = $('#register').serialize();
           $.post('editarticle.php',data,function(html){
              $('#done').html(html);
    	  $('#ok').corner("round 4px").delay(4000).fadeOut(2400);
            });
            })
    3- Tu essayes

    Ben, c'est juste une idée, ça peut ne pas marcher

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Par défaut
    Oh! Déjà une réponse ?
    Merci, merci !!

    Par contre, je ne comprend pas trop.

    Côté html, j'enlève ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" class="gauche" value="Sauver" />
    et je met ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="ton bouton"  href="#">Sauver</a>
    Ou je laisse les deux ?

    Je ne vais pas avoir un Bouton ET un Submit en même temps ?

  4. #4
    Membre expérimenté Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Par défaut
    le
    $('ton bouton')
    C'est à titre indicatif

    au fait, tu supprime ton
    <input type="submit" value="...">
    et tu mets un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" id="saveButton" />
    et ton
    $('ton bouton')
    sera

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Par défaut
    BIn, je viens d'essayer et ça donne... rien.

    J'ai effectivement un bouton en dessous de mon formulaire, mais, quand je clique dessus, il ne se passe rien. Le fichier php n'est même pas sollicité.

  6. #6
    Membre expérimenté Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Par défaut
    J'ai effectivement un bouton en dessous de mon formulaire, mais, quand je clique dessus, il ne se passe rien. Le fichier php n'est même pas sollicité.
    T'es sûr que t'as assigné un événement au clic sur le bouton?

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/10/2007, 17h12
  2. [AJAX] Envoi de donnée vers jsp
    Par Iphelias dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/07/2007, 12h51
  3. Ajax : envoie de .XML
    Par grosecret dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 09/10/2006, 11h48
  4. [AJAX] Envoi de donnée
    Par keisuke dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/08/2006, 16h01
  5. [AJAX] envoi Formulaire
    Par thunderfear dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/07/2006, 11h56

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