Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.06.2008, 19:38
Новичок на форуме
Отправить личное сообщение для Dr.Holerik Посмотреть профиль Найти все сообщения от Dr.Holerik
 
Регистрация: 10.06.2008
Сообщений: 3

jQuery для загрузки страницы в <div>
Требуется, что бы в index , в определённый блок загуржались контентные страницы.
Для этого заюзал jQuery

index.html
Код:
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>test jQuery</title>
    <script type="text/javascript" src="jquery.js"></script>
<body>
<a href='javascript:$("#content").load("/general.html body")'>Главная страница</a>
<div id="content"></div>
</body>
</html>
general.html предстваляет из себя просто дукумент с чистым HTML.

Проблема в том, что после клика по ссылке, вместо загрузки general.html появляется надпись
"[object Object]" .

Я пробовал убрать general.html из каталога сайта - результат аналогичный.

Господа знатоки JavaScript, пожалуйста, помогите советом, где у меня ошибка?

П.С. Пробовал в IE, FF и Опере - результат аналогичный.
Ответить с цитированием
  #2 (permalink)  
Старый 19.12.2009, 18:34
Новичок на форуме
Отправить личное сообщение для Pastorman Посмотреть профиль Найти все сообщения от Pastorman
 
Регистрация: 17.12.2009
Сообщений: 8

Мне очень инересно. Дорогой Dr.Holerik вы нашли решение своей проблемы?
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2009, 21:21
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Сразу скажу что в jQuery не спец, но я бы / убрал т.е. load("general.html body"). Потом конструкция href='javascript: считается плохой идеей - Почему <a href="javascript:..."> - плохо. И ещё я не уверен насчёт "general.html body". Допустимы ли такие конструкции? Если general.html будет загружаться только с помощью .load() то возможно имеет смысл упростить jQury и html?
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2010, 02:14
Новичок на форуме
Отправить личное сообщение для Likbezz Посмотреть профиль Найти все сообщения от Likbezz
 
Регистрация: 26.06.2010
Сообщений: 5

Сообщение от Tim Посмотреть сообщение
Сразу скажу что в jQuery не спец, но я бы / убрал т.е. load("general.html body"). Потом конструкция href='javascript: считается плохой идеей - Почему <a href="javascript:..."> - плохо. И ещё я не уверен насчёт "general.html body". Допустимы ли такие конструкции? Если general.html будет загружаться только с помощью .load() то возможно имеет смысл упростить jQury и html?
... Нет, убирать слешь, то есть ссылку на документ не надо, просто, для функции $.load адрес «general.html body» - не корректный.
Варианты:
Либо загружать, нарпимер первый див, или страницу целиком, иди любой другой див, с атрибутом ID.
Примеры:
<div id="content"></div>
<a href="javascript://" onclick="$('#content').load('/deee01-1.html');return false;">Главная страница</a>
<!--Просто запрос на страницу, с выводом в блок #content-->
<a href="javascript://" onclick="$('#content').load('/deee01-1.html div:first');return false;">Главная страница</a>
<!--Просто запрос на страницу, в первый див, с выводом его содержимого в блок #content-->
<a href="javascript://" onclick="$('#content').load('/deee01-1.html #contText')">Главная страница</a>
<!--Просто запрос на страницу, в #contText, с выводом в блок #content его содержимого-->



Flesh
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2010, 03:38
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Likbezz,
некропостинг?
Ответить с цитированием
  #6 (permalink)  
Старый 28.06.2010, 08:47
Новичок на форуме
Отправить личное сообщение для Likbezz Посмотреть профиль Найти все сообщения от Likbezz
 
Регистрация: 26.06.2010
Сообщений: 5

Gvozd,
.... ヅ Ага, типа того ....
Кстати, я же наткнулся на этот пост, значит, по идее, кто нить ещё прочитает, типа автора первого поста.
Ответить с цитированием
  #7 (permalink)  
Старый 21.12.2010, 08:20
Новичок на форуме
Отправить личное сообщение для Atlant-t Посмотреть профиль Найти все сообщения от Atlant-t
 
Регистрация: 21.12.2010
Сообщений: 3

УУУУУУУУУУРРРРРРРРРРААААА АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
УУУУУУУУУУРРРРРРРРРРААААА АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
УУУУУУУУУУРРРРРРРРРРААААА АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
УУУУУУУУУУРРРРРРРРРРААААА АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Я вас люблю парни.
Целые сутки без перерыва бъюсь над проблемой. И вот оно.............
Решение.

Большое спасибо.


Ответить с цитированием
  #8 (permalink)  
Старый 21.12.2010, 10:57
Новичок на форуме
Отправить личное сообщение для Atlant-t Посмотреть профиль Найти все сообщения от Atlant-t
 
Регистрация: 21.12.2010
Сообщений: 3

Приношу извинения за флуд. Но не мог сдержаться.


Вот мой вариант после небольшого абгрэйда.

В файле.html:
.........
<div class="main">
<div class="titlbox"><p class="li" id="a">Первая</p></div> <!-- Основной список -->
<div class="titlbox"><p>Вторая</p></div> <!-- Основной список -->
<div class="subbox">
<div>
<p class="li" id="b">Первый подкаталог</p>
<p class="li" id="c">Второй подкаталог</p>
<p class="li" id="d">Третий подколотый</p>
<p class="li" id="e">Четвертый подколотый</p>
<p class="li" id="f">Пятый подкоталог</p>
</div>
</div>
......

Во внешнем скрипте:

.......
$('p.li').click(function(){
var li = $(this).attr("id");
switch (li) {
case 'a': ($('div.win').load('a.html')); break
case 'b': ($('div.win').load('b.html')); break
case 'c': ($('div.win').load('c.html')); break
case 'd': ($('div.win').load('d.html')); break
case 'e': ($('div.win').load('e.html')); break
case 'f': ($('div.win').load('f.html')); break
default: ($('div.win').load('Error.html'));
}
.......
Ответить с цитированием
  #9 (permalink)  
Старый 21.12.2010, 16:37
Новичок на форуме
Отправить личное сообщение для Likbezz Посмотреть профиль Найти все сообщения от Likbezz
 
Регистрация: 26.06.2010
Сообщений: 5

Сообщение от Atlant-t Посмотреть сообщение
Приношу извинения за флуд. Но не мог сдержаться.


Вот мой вариант после небольшого абгрэйда.

В файле.html:
.........
<div class="main">
<div class="titlbox"><p class="li" id="a">Первая</p></div> <!-- Основной список -->
<div class="titlbox"><p>Вторая</p></div> <!-- Основной список -->
<div class="subbox">
<div>
<p class="li" id="b">Первый подкаталог</p>
<p class="li" id="c">Второй подкаталог</p>
<p class="li" id="d">Третий подколотый</p>
<p class="li" id="e">Четвертый подколотый</p>
<p class="li" id="f">Пятый подкоталог</p>
</div>
</div>
......
Во внешнем скрипте:
.......
$('p.li').click(function(){
var li = $(this).attr("id");
switch (li) {
case 'a': ($('div.win').load('a.html')); break
case 'b': ($('div.win').load('b.html')); break
case 'c': ($('div.win').load('c.html')); break
case 'd': ($('div.win').load('d.html')); break
case 'e': ($('div.win').load('e.html')); break
case 'f': ($('div.win').load('f.html')); break
default: ($('div.win').load('Error.html'));
}
.......
- Жестоко .... Ой как жестоко.
Я бы так не придумал ..... ヅ ... Это ж, блин, почти искусство ...
Проще нужно .... Гораздо проще.
$('p.li[id]').click(function(){
var li=$(this).attr("id")||'Error',url=li+'.html';
$('div.win').load(url,function(a,b,c){if(b=='error'){$('div.win').html('Извините, но произошла ошибка: '+c.status+' '+c.statusText)}});
return false;});

Пример v1
Пример v2
... или вот, как альтернатива «404» ....
Пример v3
... А вообще, это делается соовсем по другому .... ヅ
Пример? ... Ну, например вот это: «День гаишника» ....
Или вот это «Darkseed - Poison Awaits (2010)» - то, что в спойлерах - внешние файлы, в данном случае - *.txt? но сути не меняет.
А вообще по этому вопросу - полно инфы с примерами и пошаговыми объяснениями/инструкциями. Кое что есть и на моём форуме.
... ヅ

Последний раз редактировалось Likbezz, 21.12.2010 в 17:10.
Ответить с цитированием
  #10 (permalink)  
Старый 22.12.2010, 01:40
Новичок на форуме
Отправить личное сообщение для Atlant-t Посмотреть профиль Найти все сообщения от Atlant-t
 
Регистрация: 21.12.2010
Сообщений: 3

Вариант вроде бы хороший. Но я ничего так и не понял, что за что отвечает. А можно самоучке по пальцам объяснить в эту строчку:

$('p.li[id]').click(function(){
var li=$(this).attr("id")||'Error',url=li+'.html';
$('div.win').load(url,function(a,b,c){if(b=='error '){$('div.win').html('Извините, но произошла ошибка: '+c.status+' '+c.statusText)}});
return false;});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск скрипта по завершению загрузки страницы EugenyK Events/DOM/Window 4 27.05.2011 11:08
Сохранение данных для передачи с одной страницы в другую Andrey Freeman Общие вопросы Javascript 6 15.09.2008 22:32
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06