Проблема с mootools
Подскажите кто знает, вообщем ситуация следующая: при помощи ajax запроса вывожу дополнительные данные на страницу (данные с другой страницы), внутри этих данных лежить Javascript код, который необходимо сразу же выполнить (указывать функцию бесполезно, так как во время вставки данных, копии этих функций будет много, и есть ли способ запустить ихнее выполнение, может нужно применить writeln для вывода?
Выходит что часть js кода выполняется и работает а часть после обновления стоит мертвым грузом. |
Выложите код, где вы делаете запрос.
|
$jds= ' hs.graphicsDir = "assets/plugins/directresize/libs/highslide/graphics/"; hs.outlineType = "rounded-white"; parent.window.addEvent("load", function() { var element'.$from_id.' = $("container'.$from_id.'"); var mySlider'.$from_id.' = new Fx.Slide(element'.$from_id.', {duration: 900,transition: Fx.Transitions.circIn}); $("demoForm'.$from_id.'").addEvent("submit", function(e) { $("load_status'.$from_id.'").style.display = "inline"; new Event(e).stop(); if ($("container'.$from_id.'").innerHTML == "") { mySlider'.$from_id.'.hide(); new Ajax("[~127~]",{ postBody:$("demoForm'.$from_id.'").toQueryString(), onComplete:showResponser, update:element'.$from_id.' }).request();} else { new Ajax("[~127~]",{ postBody:$("demoForm'.$from_id.'").toQueryString(), onComplete:showResponser, update:element'.$from_id.' }); mySlider'.$from_id.'.toggle(); $("load_status'.$from_id.'").style.display="none"; } } ); function showResponser(request){ $("load_status'.$from_id.'").style.display="none"; mySlider'.$from_id.'.hide(); mySlider'.$from_id.'.toggle(); trm = $("container'.$from_id.'").innerHTML; } }) '; этот код копируется на количество этих форм: <form method="post" action="[~127~]" id="demoForm'.$from_id.'" style="margin: 0; padding:0; left:0;"> <input id="action" name="action" type="hidden" value="dittoAjax" /> <input id="num_page" name="num_page" type="hidden" value="'.$from_id.'"/> <input id="template" name="template" type="hidden" value="'.$tpl.'"/> <button type="submit" style="background: none; border: 0px;margin:0;padding:0;">'.$ptitle.'</button><img id="load_status'.$from_id.'" src="assets/plugins/directresize/libs/highslide/graphics/loader.white.gif" style="display: none;"> </form><div id="container'.$from_id.'" style="padding-bottom: 1px;"></div>'; |
я просто сейчас думаю указать функцию обработчик, который будет запускаться в конце запроса, только как ее написать еще не сильно понял, делаю используя движок modx
|
Я не очень разбираюсь в mootools, но почему вы делаете запрос через Ajax, а не Request? Во втором случае вы можете просто указать параметр evalScripts для выполнения всех скриптов, полученных в HTML-ответе с сервера.
|
Ура
Спасибо огромное! Все заработало после указания параметра!
Я не так давно занимаюсь ajax, а с библиотеками вообще никогда не работал, поэтому взял готовый пример и переделал его под свои нужды, я просто не заметил особой разницы между текущим и вашим методом. Опишите пожалуйста, какая между ними разница? Вроде как параметры идентичны |
Sinclair,
Вот и я не знаю, к сожалению с mootools не работал. |
Часовой пояс GMT +3, время: 04:49. |