يتم تجريد العلامات من النص عند حقنه في موتولز عناصر
https://stackoverflow.com/questions/1412287
-
05-07-2019
- |
-
سؤال
وأنا أحاول أن بناء بعض الجافا سكربت في موتولز الذي جلب صف الجدول العلامات من الخادم، ثم يضيفه إلى جدول. لدي اسمه htmlAjax
الكائن الذي تم ضبطه ككائن Ajax
موتولز. الكائن يحصل HTML من الملقم بشكل صحيح (اختبار هذا في وحدة تحكم الحرائق)، ولكن عندما أحاول إضافة هذه العلامات إلى عنصر جديد، عناصر <td>
يحصل تجريد بها. هنا هو وظيفة بلدي الذي يلتقط البيانات من طلب HTTP ومحاولات لإضافة صف:
htmlAjax.addEvent('onComplete', function (data) {
var slot = new Element('tr');
slot.setHTML(data);
slot.injectInside($('volunteer_slots'));
});
والرد أعود من الملقم في data
تبدو مثل هذا:
<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>
وعندما أدعو setHTML
على المتغير slot
(يمر في data
)، و<tbody>
عنصر volunteer_slots
ديه صف جديد، ولكن أن صف جديد يحتوي على كل شيء باستثناء العناصر <td>
. هل هناك أي طريقة لمنع ذلك من الحدوث؟
المحلول
وهذا مثير للاهتمام للغاية. في حين لا أستطيع أن أشرح ذلك، وأنا لا يملك الحل بالنسبة لك. عكس ترتيب الخاص بك setHTML()
وinjectInside()
خطوط، ويتم إدراج <td>
s بشكل صحيح:
slot.injectInside($('volunteer_slots'));
slot.setHTML(data);
وأنت على ما يبدو باستخدام موتولز 1.11، ومع ذلك، يبدو أن هذا السلوك أن يحدث في 1.2 كذلك. غريب جدا! يجب أن يكون لديك شيء للقيام مع حقيقة أنه قبل حقن slots
فار، فإنه ليس جزءا من DOM. آثار وضع HTML داخلي من عنصر غير DOM-قد تكون غير متوقعة؟ أتمنى أن تفسير ذلك. سآخذ لحفر أعمق عندما يكون لدي وقت.
نصائح أخرى
ما هو إصدار موتولز الذي تستخدمه؟ لست متأكدا إذا كان لديه أي علاقة مع ذلك، ولكن في الإصدار الأخير، وليس هناك (بقدر ما أنا على علم) طريقة setHTML
، انها الآن set('html', data)
. وأعتقد أيضا أن injectInside
أصبح slot.inject($('volunteer_slots'))
. ويساعد هذا الأمل.
لا تنتمي إلى StackOverflow
https://stackoverflow.com/questions/1412287
-
05-07-2019 - |
سؤال
وأنا أحاول أن بناء بعض الجافا سكربت في موتولز الذي جلب صف الجدول العلامات من الخادم، ثم يضيفه إلى جدول. لدي اسمه htmlAjax
الكائن الذي تم ضبطه ككائن Ajax
موتولز. الكائن يحصل HTML من الملقم بشكل صحيح (اختبار هذا في وحدة تحكم الحرائق)، ولكن عندما أحاول إضافة هذه العلامات إلى عنصر جديد، عناصر <td>
يحصل تجريد بها. هنا هو وظيفة بلدي الذي يلتقط البيانات من طلب HTTP ومحاولات لإضافة صف:
htmlAjax.addEvent('onComplete', function (data) {
var slot = new Element('tr');
slot.setHTML(data);
slot.injectInside($('volunteer_slots'));
});
والرد أعود من الملقم في data
تبدو مثل هذا:
<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>
وعندما أدعو setHTML
على المتغير slot
(يمر في data
)، و<tbody>
عنصر volunteer_slots
ديه صف جديد، ولكن أن صف جديد يحتوي على كل شيء باستثناء العناصر <td>
. هل هناك أي طريقة لمنع ذلك من الحدوث؟
المحلول
وهذا مثير للاهتمام للغاية. في حين لا أستطيع أن أشرح ذلك، وأنا لا يملك الحل بالنسبة لك. عكس ترتيب الخاص بك setHTML()
وinjectInside()
خطوط، ويتم إدراج <td>
s بشكل صحيح:
slot.injectInside($('volunteer_slots'));
slot.setHTML(data);
وأنت على ما يبدو باستخدام موتولز 1.11، ومع ذلك، يبدو أن هذا السلوك أن يحدث في 1.2 كذلك. غريب جدا! يجب أن يكون لديك شيء للقيام مع حقيقة أنه قبل حقن slots
فار، فإنه ليس جزءا من DOM. آثار وضع HTML داخلي من عنصر غير DOM-قد تكون غير متوقعة؟ أتمنى أن تفسير ذلك. سآخذ لحفر أعمق عندما يكون لدي وقت.
نصائح أخرى
ما هو إصدار موتولز الذي تستخدمه؟ لست متأكدا إذا كان لديه أي علاقة مع ذلك، ولكن في الإصدار الأخير، وليس هناك (بقدر ما أنا على علم) طريقة setHTML
، انها الآن set('html', data)
. وأعتقد أيضا أن injectInside
أصبح slot.inject($('volunteer_slots'))
. ويساعد هذا الأمل.