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 :

[AJAX] Interpreter un script dans une reponse AJAX?


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Points : 54
    Points
    54
    Par défaut [AJAX] Interpreter un script dans une reponse AJAX?
    Bonjour a tous!
    Je suis confronté à un petit (petit mais tenace!!!) problème avac AJAX depuis un certains temps...
    Je vous explique:
    J'ai une listebox en haut de page qui permet de choisir une lettre, le choix de la lettre entraine le rafraichissement AJAX de la div du dessous (tous les artistes commençant par la lettre selectionnée). La liste d'artiste est une suite d'élément DragnDrop...J'ai donc entre deux balises <script> une ligne javascript qui permet d'indiquer que la liste des artistes est de type dragndrop...ce script est bien pris en compte lors du chargement de la page (donc pour la lettre A) mais dès que je change de lettre il ne l'est plus!! J'ai cherché sur le web et j'ai trouvé plusieurs info la-dessus (fonction evalScripts(); notamment mais je ne sais pas ou mettre tout ça...)
    J'utilise prototype, rico et scriptaculous...
    Je vous mets mon code :
    Code de la page tpl:
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
             <div class="grey">
                <div class="para2">
                   <span class="bold">First letter of the artist</span>
                   <select name="select_letter" id="select_letter" size="1" onchange="Getletterelement('js_script');">
                      <option value="A">A</option>
                      <option value="B">B</option>
                      <option value="C">C</option>
                      <option value="D">D</option>
                      <option value="E">E</option>
                      <option value="F">F</option>
                      <option value="G">G</option>
                      <option value="H">H</option>
                      <option value="I">I</option>
                      <option value="J">J</option>
                      <option value="K">K</option>
                      <option value="L">L</option>
                      <option value="M">M</option>
                      <option value="N">N</option>
                      <option value="O">O</option>
                      <option value="P">P</option>
                      <option value="Q">Q</option>
                      <option value="R">R</option>
                      <option value="S">S</option>
                      <option value="T">T</option>
                      <option value="U">U</option>
                      <option value="V">V</option>
                      <option value="W">W</option>
                      <option value="X">X</option>
                      <option value="Y">Y</option>
                      <option value="Z">Z</option>
                   </select>
               </div>
             </div>
             <div id="letterelement">
                {if $nbelements == 0}
                   <div class="topDoubleBorder">
                      <span class="rouge">{$locale.msg_noelementletter}</span>
                   </div>
                {else}
                   <div class="topDoubleBorder">
                      <div id="listContainer">
                         { for start=0 stop=$nbelements step=1 value=current }
                            <div id="item_{$element[$current].id_content}">{$element[$current].artist} / {$element[$current].title} </div>
                         {/for}
                      </div>
                      <script type="text/javascript">
                      // <![CDATA[
                      Sortable.create('listContainer',{$openbracket}tag:'div'{$closebracket});
                      // ]]>
                      </script>
                   </div>
                {/if}
             </div>
    Le code de mon fichier letterelement.request.tpl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       function Getletterelement(idElement)
       {$openbracket}
             var letter = document.getElementById("select_letter").value;
             ajaxEngine.sendRequest('Getletterelement',"letter="+letter);
       {$closebracket}
    et enfin le code de mon fichier reponse letterelement.response.tpl
    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
     
    <response type="element" id="letterelement">
    {if $ok}
       {if $nbelements == 0}
          <div class="topDoubleBorder">
             <span class="rouge">{$locale.msg_noelementletter}</span>
          </div>
       {else}
          <div class="topDoubleBorder">
             <div id="listContainer">
                { for start=0 stop=$nbelements step=1 value=current }
                   <div id="item_{$element[$current].id_content}">{$element[$current].artist} / {$element[$current].title} </div>
                {/for}
             </div>
          </div>
             <script language="javascript" type="text/javascript">
             // <![CDATA[
             Sortable.create('listContainer',{$openbracket}tag:'div'{$closebracket});
             // ]]>
             </script>
       {/if}
    {else}
       <div class="topDoubleBorder">
          <span class="rouge">{$locale.msg_internalerror}</span>
       </div>
    {/if}
    </response>
    Voila, si vous y voyez un peu plus clair que moi, je suis preneur...je suis bloqué depuis un bon moment...
    Merci bcp pour votre aide.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Points : 54
    Points
    54
    Par défaut
    Pas résolu en fait ( ) et a vrai dire je n'y comprends plus rien du tout

Discussions similaires

  1. Comment gérer l'affichage d'une reponse ajax dans un tableau de tableau(html)
    Par satanluimm dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/03/2012, 15h14
  2. [MooTools] Execution de script dans une page ajax généré par mootools
    Par gaet-gaet dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 26/09/2009, 12h28
  3. [AJAX] sql +java script dans xhtml
    Par 18Marie dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/06/2006, 19h15
  4. [AJAX] Saut de ligne dans une page html
    Par rapace dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/02/2006, 09h44

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