Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > javascript через ajax


Автор: Serebrus 14.4.2009, 13:38
Привет всем.

В index.php есть тэг div. С помощю ajax сюда загружается данные из файла cont.php
В файле cont.php, я написал javascript код:
Код

<script type='text/javascript'>DEnc('".rand(1, 99)."');</script>

вызыввающий функцию DEnc, из index.php
Ajax "работает" каждый 5 секунд (setTimeout), при этом данные обнавляются (в тэге div), но функция DEnc не работает.

Как можно это сделать?

Автор: Sanchezzz 14.4.2009, 13:55
код функции которая вызывается мы не телепаты...

если функция объявлена в результате ответа аякса то она не будет работать так как в дом структуре она не зарегистрирована (браузер о ней незнает) решение только одно eval или использовать JS фреймворк

Автор: Serebrus 14.4.2009, 13:59
Sanchezzz, пожалуйста, обратите внимание
Цитата(Serebrus @  14.4.2009,  13:38 Найти цитируемый пост)
вызыввающий функцию DEnc, из index.php

Функция DEnc находится в index.php (она не создается ajax ом)

Автор: Sanchezzz 14.4.2009, 14:05
Serebrus , пожалуйста, обратите внимание
Цитата

код функции которая вызывается мы не телепаты...

Автор: Serebrus 14.4.2009, 14:28
Вот пожалуйста:
Код

function DEnc(num)
{
 obj.style.backgroundColor='#ffffff';
 document.getElementById('inf').style.left=event.x-250;
 document.getElementById('inf').style.top=event.y;
 sendRequest('list_show_inf.php?user_id='+u_id+'&tm='+num, 'inf', getRequest);
}

Автор: Sanchezzz 14.4.2009, 14:40
Поидеи если ошибок нет и ты принетый тект вставишь через innerHtml и выше функция обьявлена в индексном файле то функция должна выполнится.
fireBug у тебя есть на FireFox'се посмотри какую ошибку вадает?
Какой код ответа приходит от аякса?


И кажется тебе в раздел JS писать, тут вопросы задают связанные непосредственно с php.

Автор: Serebrus 14.4.2009, 14:54
Sanchezzz, да по идеи должно работать, НО не работает.
FireFox ошибок не выдает.

Автор: MoLeX 14.4.2009, 15:09

 ! 
MoLeX
Модератор: перенес

Автор: IDVsbruck 15.4.2009, 00:13
Цитата(Serebrus @  14.4.2009,  13:38 Найти цитируемый пост)
В index.php есть тэг div

Цитата(Serebrus @  14.4.2009,  13:59 Найти цитируемый пост)
Функция DEnc находится в index.php (она не создается ajax ом)

Поосторожней с выражениями ... в ПэХаПэ нет тэгов, в данном случае это привелегия разметки HTML (и клонов).

Получаемые асинхронно скрипты надо выполнять, чтобы они работали. Вызов из основного документа функции, находящейся в подгружаемой части, без переназначения невозможен. Правда, если переназначить обработчики событий несложно, то с простыми функциями это может быть не очень легко.
Если твоя задача не очень сложная (допустим), то можно в скрипте не использовать функцию, а вызывать скрипт, который тут же выполняется. Последней операцией в нем будет вызов таймера, который снова вызовет этот же скрипт. Так ты избежишь проблемы переназначения функции.

Автор: Aliance 20.4.2009, 13:08
У где у тебя в теле функции регистрация события эвэнт?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)