Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: AJAX

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
4ik
Отправлено: 25 Апреля, 2012 - 15:47:42
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Вечер добрый.
Имеется AJAX.JS файл.
Все бы хорошо, но он используется по одиночно, я бы хотел его использовать масово на странице тем самым вызывать через ID номер, ну вы поняли.
CODE (text):
скопировать код в буфер обмена
  1. <body onload='requestActivities2("test.php");'>
  2.    <div id='divActivities2'></div>



PHP:
скопировать код в буфер обмена
  1.   function handleHttpResponse() {  
  2.        document.getElementById("divActivities2").innerHTML = "<br /><div align='center'><table style='width:80%;margin-left:22px;'><tr><td height='180'><br /><div align='center'><img style='vertical-align: middle;' src='img/loader.gif'> Loading...</div><br /></td></tr></table></div>";  
  3.  
  4.                 if (http.readyState == 4) {
  5.                           if(http.status==200) {
  6.                                 var results=http.responseText;
  7.                           document.getElementById('divActivities2').innerHTML = results;
  8.                           }
  9.                         }
  10.                 }
  11.                
  12.             function requestActivities2(url2) {
  13.         document.getElementById("divActivities2").innerHTML = "Loading...";            
  14.                         http.open("GET", "" + url2 , true);
  15.                         http.onreadystatechange = handleHttpResponse;
  16.                         http.send(null);
  17.         }
  18. function getHTTPObject() {
  19.   var xmlhttp;
  20.  
  21.   if(window.XMLHttpRequest){
  22.     xmlhttp = new XMLHttpRequest();
  23.   }
  24.   else if (window.ActiveXObject){
  25.     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  26.     if (!xmlhttp){
  27.         xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  28.     }
  29.    
  30. }
  31.   return xmlhttp;
  32.  
  33.  
  34. }
  35. var http = getHTTPObject(); // We create the HTTP Object



Ниндзя

(Отредактировано автором: 26 Апреля, 2012 - 05:22:20)

 
 Top
4ik
Отправлено: 26 Апреля, 2012 - 05:22:51
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




UP Огорчение
 
 Top
Viper
Отправлено: 26 Апреля, 2012 - 08:49:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Если правильно понял...

Выносите в отдельный js-файл вашу функцию, подключаете этот файл, чуть-чуть правите функцию.

вместо
CODE (javascript):
скопировать код в буфер обмена
  1. function handleHttpResponse()

пишете
CODE (javascript):
скопировать код в буфер обмена
  1. function handleHttpResponse(elem, url)

заменяете все
CODE (javascript):
скопировать код в буфер обмена
  1. document.getElementById("divActivities2").innerHTML

на
CODE (javascript):
скопировать код в буфер обмена
  1. document.getElementById(elem).innerHTML


И можете вызывать как
CODE (html):
скопировать код в буфер обмена
  1. <body onload="requestActivities2('divActivities2', 'test.php&param=1&param2=2');">


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
4ik
Отправлено: 26 Апреля, 2012 - 14:29:27
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




я наверно не корректно обьяснил задачу.

Выше указаный код, я вывожу на страницу в таком виде:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <body onload='requestActivities2(\"./aut.php\");'>
  2. <div id='divActivities2'></div>

все отлично выводится / подгружается.

Появилась нужда вывести на страницу в нескольких екземплярах (подгрузить несколько страниц):
CODE (htmlphp):
скопировать код в буфер обмена
  1. <body onload='requestActivities2(\"./aut.php\");'>
  2. <div id='divActivities2'></div>
  3.  
  4. <a onclick=\"requestActivities2('games.php');\" />Show games</a>
  5. <div id='divActivities2'></div>
  6.  
  7. <a onclick=\"requestActivities2('status.php');\" />Show status</a>
  8. <div id='divActivities2'></div>

Но при нажатии на "Show games" результат выводится в 3-х местах Ниндзя

(Отредактировано автором: 26 Апреля, 2012 - 14:31:48)

 
 Top
EuGen Администратор
Отправлено: 26 Апреля, 2012 - 14:39:46
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




4ik пишет:
<div id='divActivities2'></div>

В DOM-дереве каждый элемент должен иметь уникальный id. Неудивительно, что у Вас появляются подобные неожиданности. Ну и возьмите на заметку сказанное выше.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB