Динамический 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 что у меня появилась новая функция ... |
Невозможно читать, пишите по русски.
|
привел пример!м вставьте в HTML И запустите и увидите
|
Зачем класть скрипт в див?!
В любом случае советую использовать 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, время: 08:00. |