J'essaie de générer du JavaScript dans MooTools qui récupère le balisage de ligne de table du serveur, puis l'ajoute à une table. J'ai un objet nommé htmlAjax
qui est défini comme objet MooTools Ajax
. L'objet récupère correctement le HTML du serveur (testé dans la console Firebug), mais lorsque j'essaie d'ajouter ce balisage à un nouvel élément, les éléments <td>
sont supprimés. Voici ma fonction qui capture les données de la requête HTTP et tente d'ajouter une ligne:<td> Les balises sont supprimées du texte lorsqu'elles sont injectées dans MooTools Elements
htmlAjax.addEvent('onComplete', function (data) {
var slot = new Element('tr');
slot.setHTML(data);
slot.injectInside($('volunteer_slots'));
});
La réponse que je reviens du serveur data
ressemble à ceci:
<td><div class="title" rel="60">
<a class="modal" href="index.php?view=volunteerslot&tmpl=component&id=60" rel="{handler: 'iframe', size: {x: 650, y: 550}}" >test</a>
</div>
</td>
<td class="button_column">
<img src="images/publish_x.png" />
</td>
<td>0 minutes</td>
<td><select name="volunteers[60]" id="volunteers60" class="inputbox"><option value="0" selected="selected">(select...)</option><option value="63" >Joe LeBlanc</option><option value="64" >Test User</option><option value="65" >Test User</option><option value="66" >Test User</option><option value="67" >Test User</option></select></td>
<td><select name="total_time_spent[60][hours]" id="total_time_spent60hours" ><option value="0" selected="selected">0</option><option value="1" >1</option><option value="2" >2</option><option value="3" >3</option><option value="4" >4</option><option value="5" >5</option><option value="6" >6</option><option value="7" >7</option><option value="8" >8</option><option value="9" >9</option><option value="10" >10</option><option value="11" >11</option><option value="12" >12</option><option value="13" >13</option><option value="14" >14</option><option value="15" >15</option><option value="16" >16</option><option value="17" >17</option><option value="18" >18</option><option value="19" >19</option><option value="20" >20</option><option value="21" >21</option><option value="22" >22</option><option value="23" >23</option><option value="24" >24</option></select> hours <select name="total_time_spent[60][minutes]" id="total_time_spent60minutes" ><option value="0" selected="selected">0</option><option value="15" >15</option><option value="30" >30</option><option value="45" >45</option></select> minutes</td>
<td class="button_column">
<img src="images/tick.png" />
</td>
Une fois que j'appelle setHTML
sur la variable slot
(passant en data
), l'élément <tbody>
volunteer_slots
a une nouvelle ligne, mais cette nouvelle ligne contient tout sauf les éléments <td>
. Y a-t-il un moyen d'empêcher cela?
Fonctionne, merci! Et oui, j'utilise 1.11. – jlleblanc
bien attraper ça. mootools fait parfois des choses bizarres avec des éléments qu'il injecte, je l'ai fait gâcher style de block à inline sur des éléments injectés dans un div avec overflow ... –