Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Динамический JavaScript проблемка... (https://javascript.ru/forum/events/6569-dinamicheskijj-javascript-problemka.html)

andrys2007 06.12.2009 11:22

Динамический JavaScript проблемка...
 
Привет всем ! Такая проблемка ...
У меня идет Ajax - запрос формы т.е. загружаю форму в <div> контйнер ...
в этой форму у меня есть опеделение функции напрмер function Test()... так вот погсле того как код вызвался мне нужно это функцию -Test запустить ,но она не запускается так как она не видна а именно ...приеду пример :

<div id="obtest"></div>   <!--- сюда идет результат запроса --->

<script>
  function KAL()
   {
      alert("KAL");
   document.getElementById("obtest").innerHTML='<SCRIPT>function Test() {	alert("Yes call test"); }<SCRIPT>';
   }
</script>

<a href=""  onClick="KAL();return false;">Смотреть</a><BR>
<a href=""  onClick="Test();return false;">Call test</a>


Это как бы упрощенный пример того что происходит...Когда нажимаем на СМОТЕРТЬ то выполняется функция KAL которая показывает сообщение что она выполнилась и ЗАПОЛНЯЕТ КОНТЙНЕР (как если бы я вызывал Ajax запрос) obtest ,а заполняет -формирует скрипт Test внутри контейнера ...потом по кнопки Call test пытаемся его выполнить и ...он не выполняется потому что его не видать ХОТЯ ОН НА СТРАНИЦЕ есть ...вообще на сколько я понимаю надо про него как то доументу сообщить что он есть на странице ...Ну вообщем вот такая проблемка....Мож кто знает как обойти ее или как сообщить document что у меня появилась новая функция ...

Octane 06.12.2009 11:46

Невозможно читать, пишите по русски.

andrys2007 06.12.2009 12:11

привел пример!м вставьте в HTML И запустите и увидите

B~Vladi 06.12.2009 13:40

Зачем класть скрипт в див?!

В любом случае советую использовать DOM-методы:

var script = document.createElement('script');
script.type = 'text/javascript';
script.appendChild(document.createTextNode('function Test() {alert("Yes call test");}'));
document.body.appendChild(script);
Test();


Часовой пояс GMT +3, время: 09:04.