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
Форумы портала PHP.SU :: Версия для печати :: Доступ к данным, загружаемым функцией load()
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Доступ к данным, загружаемым функцией load()

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

1. Ammiak - 03 Июля, 2011 - 12:02:41 - перейти к сообщению
Добрый день, уважаемые форумчане!
у меня такой вопрос: есть исходная страничка page1.htm со span'ом
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <span id="span1"></span>
  3.  

и есть загружаемая страничка loaded_page.htm со span'ом, в котором находится число, напр. 0
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <span id="loaded_span">0</span>
  3.  

Подгружаю <span id="loaded_span"> на первую страницу:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#span1').load('../loaded_page.htm #loaded_span');
  3. var a=parseInt($('#span1').html());
  4. alert(a);
  5.  

возвращает NaN. почему? можно ли получить доступ к числу с загружаемой страницы? заранее спасибо
2. demot - 03 Июля, 2011 - 13:57:52 - перейти к сообщению
Нужно обращаться в coolback'e load'a.
Вот пример:

Основной док:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <body>
  3.     <span id="span1"></span>
  4.     <script type="text/javascript">
  5.         $('#span1').load('loaded.php', function () {
  6.             var a = parseInt($("#loaded_span").html());
  7.             alert(a);
  8.         });
  9.     </script>
  10. </body>
  11.  


loaded.php
CODE (html):
скопировать код в буфер обмена
  1. <span id="loaded_span">0</span>


В результате всплываета alert-окошко с нашим ноликом.
3. Ammiak - 03 Июля, 2011 - 14:11:07 - перейти к сообщению
то что нужно большое спасибо
4. Ammiak - 03 Июля, 2011 - 19:21:46 - перейти к сообщению
ещё небольшой вопрос по той же теме. а как быть если на загружаемой странице выполняется какой-нибудь скрипт? напр. на странице loaded_page.htm к <span id="loaded_span"> применим функцию:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <span id="loaded_span">0</span>
  3.  
  4. <script type="text/javascript">
  5. $(function() {
  6. $('#loaded_span').html('4');
  7. });
  8. </script>
  9.  


На первой странице в <span id="span1"> отобразится 0, а не четверка. Можно ли как-то справиться с этим?
5. Ammiak - 05 Июля, 2011 - 17:47:01 - перейти к сообщению
народ, ну подскажите хоть примерно как это можно сделать
на первой странице
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#span1').load('../loaded_page.htm #loaded_span', function () {
  3. $("#span1 #loaded_span").html();
  4. });
  5.  

на загружаемой странице (loaded_page.htm):
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <span id="loaded_span">0</span>
  3.  
  4. <script type="text/javascript">
  5. $(function() {
  6. $('#loaded_span').html('4');
  7. });
  8. </script>
  9.  

как сделать чтобы на первой странице в <span id="span1"> выводилась четверка а не ноль?
6. LIME - 05 Июля, 2011 - 18:31:39 - перейти к сообщению
Ammiak да никак...браузер запускает js и меняет обьектное дерево
(Добавление)
Ammiak развечто парсить js и брать оттуда новое значение если оно не определяется динамически
7. Ammiak - 05 Июля, 2011 - 18:43:36 - перейти к сообщению
Цитата:

парсить js и брать оттуда новое значение

а как это на моём примере будет выглядеть?
8. LIME - 05 Июля, 2011 - 19:01:44 - перейти к сообщению
Ammiak ...а нужный вам текст не динамически создается?
скорее всего именно так...значит и парсить нет смысла
9. Ammiak - 05 Июля, 2011 - 19:22:12 - перейти к сообщению
в целом реальная картина такова:
в <span id="loaded_span"> происходит загрузка данных из бд, т.о. при каждой перезагрузке страницы там вполне может появляться новое значение.
На первой же странице стоит такой список:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. Сумма Ваших заказов
  3. <select id="days_orders">
  4. <option>сегодня</option>
  5. <option>вчера</option>
  6. <option>за 2 дня</option>
  7. <option>3 дня</option>
  8. <option>неделя</option>
  9. <option>месяц</option>
  10. <option>все</option>
  11. </select>
  12.  
  13. <span id="span1">
  14.  

Так вот, выбирает пользователь, например пункт "за 2 дня" и в <span id="span1"> подгружается значение с другой страницы из <span id="loaded_span">, в котором и есть эта сумма за 2 дня. Можно ли сделать такое?

 

Powered by ExBB FM 1.0 RC1