Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: return
 
 автор: m@rchello   (08.01.2007 в 06:01)   письмо автору
 
 

Здравствуйте!
вот есть две две функции

</script>
var req;
function loadDoc(url,pole_v,zn)
         {
         url = url + '?' + pole_v + '=' + zn;
         if (window.XMLHttpRequest)
             {
             req = new XMLHttpRequest();
             req.onreadystatechange = processReqChange;
             req.open("GET", url, true);
             req.send(null);
             }
         else if (window.ActiveXObject)
              {
              req = new ActiveXObject("Microsoft.XMLHTTP");
                    if (req)
                        {
                        req.onreadystatechange = processReqChange;
                        req.open("GET", url, true);
                        req.send();
                        }
              }
         }

function processReqChange()
         {
         if (req.readyState == 4)
             {
             if (req.status == 200)
                 {
                 vozvrat=req.responseText;
                 }
             else
                 {
                 alert("&#205;Не удалось получить данные:\n" +req.statusText);
                 }
             }
         }


                                 </script>

Как мне получить переменную vozvrat из processReqChange() в функцию loadDoc

   
 
 автор: coloboc66   (08.01.2007 в 09:36)   письмо автору
 
   для: m@rchello   (08.01.2007 в 06:01)
 

Ну сделайте ее глобальной, только для чего это надо???!!! А вообще вот здесь у вас:

url = url + '?' + pole_v + '=' + zn; 

какая-то ерунда написана. Если pole_v и zn - параметры функции, то должно быть так:

url=url+'?param1='+pole_v+'&param2='+zn;

А если параметр только один - zn, а pole_v - его идентификатор, то тогда вот так нужно писать:

url=url+'?pole_v='+zn;

и pole_v убрать из параметров функции.

   
 
 автор: m@rchello   (08.01.2007 в 19:04)   письмо автору
 
   для: coloboc66   (08.01.2007 в 09:36)
 

впринципе там всё работает!!
И вы смысл не поняли!
вот я вызываю ф-ию loadDoc а из неё вызывается ф-ия processReqChange
вызвать хочу примерно так
rezult=loadDoc(......);
и в итоге в переменную rezult нужно получить req.responseText из функции processReqChange

   
 
 автор: AlexSol   (08.01.2007 в 19:13)   письмо автору
 
   для: m@rchello   (08.01.2007 в 19:04)
 

так и делайте:


function processReqChange(){
......
return vozvrat ;
}
//
rezult=processReqChange();

   
 
 автор: 12345   (08.01.2007 в 21:52)   письмо автору
 
   для: AlexSol   (08.01.2007 в 19:13)
 

> вот я вызываю ф-ию loadDoc а из неё вызывается ф-ия processReqChange ...
Небольшое уточнение: processReqChange вызывается не из loadDoc , а из req.onreadystatechange (обработчика прерывания). Поэтому рекоменованным выше методом вы результат не получите. Поэтому в rezult надо помещать результат в самой processReqChange . Если, конечно, это глобальная переменная. Остальное зависит от вашей основной задачи.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования