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 :

Javascript ne marche pas dans un appel Ajax


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Javascript ne marche pas dans un appel Ajax
    Bonjour à tous

    Alors le titre ne doit pas être très clair ^^ je vous explique ça va être très simple à comprendre:

    J'essaie de mettre à jour le texte d'un champ textarea en ajax (la rien de très compliqué) sauf et oui il en faut bien un , c'est que mon textarea fonctionne avec un editeur du type tinymce ou ckeditor et la impossible à faire.

    Je vous montre mon code:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <script type="text/javascript">
     
    	function maFonctionAjax(test)
    {
      var OAjax;
      if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
      else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');
      OAjax.open('POST',"./2.php",true);
      OAjax.onreadystatechange = function()
      {
          if (OAjax.readyState == 4 && OAjax.status==200)
          {
              if (document.getElementById)
              {   
                  if (OAjax.responseText =='true') { /* OK */
                        document.getElementById('msg').innerHTML='<font color=GREEN>'+OAjax.responseText+'</font>';
                  }else{                             /* PAS OK */
                        document.getElementById('msg').innerHTML='<font color=RED>'+OAjax.responseText+'</font>';
                  }
              }     
          }
      }
      OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
      OAjax.send('test='+test);                 
    } 
    </script>
     
    	<script src="./ckeditor/ckeditor.js"></script>
     
    <form method="post" onsubmit="maFonctionAjax(this.test.value);return false" action="">
    <textarea name="test" id="test" row="51" cols="100"></textarea>
    <input type="reset" name="reset" value="Reset" /><input type="submit" value="Submit" />
    </form>
    Mon fichier 2.php qui est appelé par ma fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    if(isset($_POST['test']))      $test=$_POST['test'];
    else      $test="";
    ?>
    <textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"><?php echo $ida; ?></textarea>
    Donc en réalité mon texte dans mon champ textarea ce mais bien a jour mais impossible d'avoir l’éditeur fonctionnel, il s'affiche comme un simple champ textarea tout nu.
    Je précise que si je place mon textarea dans mon premier fichier ou si je me rend directement sur la page 2 mon éditeur fonctionne, il ne fonctionne pas uniquement si je l'appel depuis une fonction ajax.

    Cela me rappel un autre code ou j'appelais depuis une fonction ajax un calendrier du type Datepicker | jQuery UI est la aussi il ne fonctionner plus.
    On ne peut pas appeler une page en ajax qui elle même exécute un script en javascript jquery ??

    Merci de vos lumières

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    l'injection doit ce faire dans l'instance crée de ton éditeur via une méthode dédié de l'API.

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // création d'une CKEditor instance
    var oEditeur = CKEDITOR.replace( id);
    // injecte du texte
    oEditeur.insertText( 'le_texte_injecte');
    // injecte du HTML
    oEditeur.insertHtml( 'le_HTML_injecte' )
    Pour plus de détails, il suffit de regarder la documentation officielle et tu y trouvera les méthodes

Discussions similaires

  1. [AJAX] Lightbox, MOOdalBox: ne marche pas dans ma page AJAX
    Par nims dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 18/10/2008, 21h32
  2. [XSLT]javascript ne marche pas dans le XSL
    Par KorT3XX dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 20/06/2007, 13h10
  3. aperçu d image avec input type file marche pas dans ffx
    Par siddh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2005, 09h11
  4. Réponses: 12
    Dernier message: 29/04/2005, 14h37
  5. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 10h43

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