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:
Le code de mon fichier letterelement.request.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>
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 function Getletterelement(idElement) {$openbracket} var letter = document.getElementById("select_letter").value; ajaxEngine.sendRequest('Getletterelement',"letter="+letter); {$closebracket}
Voila, si vous y voyez un peu plus clair que moi, je suis preneur...je suis bloqu� depuis un bon moment...
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>
Merci bcp pour votre aide.
Partager