powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ajax загрузка страницы содержащую jqGrid
15 сообщений из 15, страница 1 из 1
Ajax загрузка страницы содержащую jqGrid
    #36497937
Slavich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Возникла проблема, и никак немогу справиться. У меня есть страница содержащая компонент jqGrid. Представляет из себя 2 грида содержащих группы товара, и товар в этих группах. Страница зовется - 'gridgoods.html'

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Подбор номенклатуры</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <link rel="stylesheet" type="text/css" media="screen" href="jqgrid/themes/sand/grid.css" />
	<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />  
</head>
<body>
	<!-- body start -->
	<hr color="#ff0000" width="90%">
	<table border= 0  cellpadding="0" cellspacing="0" align="center"><tr><td valign="top">
		<table id="listMaster" class="scroll" style=" float: left;"></table>
		<div id="pagerMaster" class="scroll" style="text-align:center;"></div>
	</td><td valign="top">
		<table id="listDetail" class="scroll" style=" float: left;"></table>
		<div id="pagerDetail" class="scroll" style="text-align:center;"></div>
	</td></tr></table>
	<script type="text/javascript" src="java/jquery-1.3.1.min.js"></script>
	<script type="text/javascript" src="jqgrid/jquery.jqGrid.js"></script>
	<script type="text/javascript" src="js/grid.locale-ru.js"></script> 
        <script type="text/javascript">
		/* Master table */
		jQuery(document).ready(function()
		{
			jQuery('#listMaster').jqGrid(
			{
				url: 'php/master.php',
				height:  307 ,
				caption: 'Группы',
				imgpath: 'jqgrid/themes/basic/images',
				datatype: 'json',
				colNames: ['#', 'Наименование'],
				colModel: [
							{name: 'numStr', index: 'numStr', width:  15 },
							{name: 'nameGroup', index: 'nameGroup', width:  200 , align: 'left'}
						  ],
				sortname: 'numStr',
				sortOrder: 'asc',
				multiSelect: 'false',
				onSelectRow: function (ids)
							{
								//Скрипт обновляющий дочернюю таблицу
							}
			});
			var lastSel; 
			jQuery('#listDetail').jqGrid(
			{
				url: 'php/getdata.php?detail=1&id=0',
				height:  307 ,
				caption: 'Номенклатура',
				imgpath: 'jqgrid/themes/basic/images',
				datatype: 'json',
				mtype: 'POST',
				colNames: ['№', 'Код', 'Наименование', 'Заказ', 'Цена', 'Валюта', 'Вес (брутто)',''],
				colModel: [
                			{name:'numInGroup', index:'numInGroup', width: 30 },
                			{name:'kodFirm', index:'kodFirm', width: 90 },
                			{name:'surName', index:'surName', width: 300 , align:'left'},
							{name:'count', index:'count', width: 50 , align:'center', editable: true}, //, edittype: "text"
                			{name:'price', index:'price', width: 60 , align:'right'},
							{name:'curName', index:'curName', width: 50 , align:'center'},
							{name:'weight', index:'weight', width: 60 , align:'center'},
							{name:'а', index:'а', width: 13 , align:'center'}
						  ],
				sortname: 'surname',
				sortOrder: 'asc',
				multiSelect: 'false',
				onSelectRow: function(id)
							{
								if ( id && id!== lastSel )
								{
									jQuery('#listDetail').restoreRow(lastSel);
									jQuery('#listDetail').editRow(id, true);
									lastSel = id;
								}
							},
				editurl: 'php/saveeditgrid.php'
			});
		});
	</script>
<!-- body end -->
</body>
</html>
все на ней работает и все прекрасно. В отдельных случаях, по мере надобности, я ее включаю с помощью PHP в другие страницы. Вот таким способом require('gridgoods.html'), и тоже все работает и никаких проблем.

Но мне понадобилось эту страницу в ключить в особо тяжелую страницу, которую весьма неохота перегружать и поетому решил подгружать ее с помощью Ajax. На нужной мне странице описал что брать и куда ложить:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    jQuery("#mClick").click(function(){
		jQuery.ajax({
			type: 'GET',
			url: 'gridgoods.html',
			success: function(data){
						divBoxLoadID.hide();
						divBoxLoadID.empty();
						divBoxLoadID.html(data);
						divBoxLoadID.show();
						alert(data);
				 	 }
				});
		})

         })
Страничка подгружается, в нужном месте. Выводится все кроме самого грида, и никак непойму в чем дело.
Помогите, плиззз, кто чем может.

Заранее оччень благодарет
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499195
Slavich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruck
Ajax запрос возвращает полностью весь код вызываемой страницы.

Может ли быть, что скрипты java, вызываемой страницы, не отрабатываются? Если да, то как бы их заставить отработаться.
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499332
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"jQuery.ajax" создаёт iframe и вставляет в него страницу?
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499360
Slavich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_st"jQuery.ajax" создаёт iframe и вставляет в него страницу?

jQuery.ajax заполняет слой - divBoxLoadID полученным содержимым страницы 'gridgoods.html'
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499418
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. в одну страницу пытаетесь вставить другую страницу? Такое возможно с фреймами. Иначе представьте, что у вас есть страница, в ней есть div и вы в этот див пытаетесь вставить ещё одну страницу. Получается на одной странице у вас два доктайпа, два head, два body, что впринципе бессмысленно. Тем более jquery по умолчанию подгружает данные вроде через innerHTML и скрипты там невозможны. Для выполнения скриптов, их нужно отделить от html и выполнить через eval.
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499450
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_st,

Попробуйте - получится. Ничего лишнего не будет.
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499533
Slavich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_stт.е. в одну страницу пытаетесь вставить другую страницу? Такое возможно с фреймами. Иначе представьте, что у вас есть страница, в ней есть div и вы в этот див пытаетесь вставить ещё одну страницу. Получается на одной странице у вас два доктайпа, два head, два body, что впринципе бессмысленно. Тем более jquery по умолчанию подгружает данные вроде через innerHTML и скрипты там невозможны. Для выполнения скриптов, их нужно отделить от html и выполнить через eval.

Просто эта страница используется в разных местах. И в основном как самостоятельная. То, что получается дублирование DOCTYPE, head, body нестрашно, во всяком случае пока никаких проблем незаметил. Тем более, что у меня в таком случае отпадают проблемы с доставкой настроек для jqGrid в вызывающую страницу. Все описания присутствуют в вызываемой странице.

st_st Для выполнения скриптов, их нужно отделить от html и выполнить через eval.

Имеется в виду. Мой скрипт выделить из страницы, хранить в отдельном файле и вставить в слой результат работы функции eval()

Что-то вроде этого:
divBoxLoadID.append(eval(myScript.js))

Или я что-то не так понял.
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499565
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge
Пробовал раньше, когда разбирался с XHR.
Вот только зачем передача ненужных данных?
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499601
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторdivBoxLoadID.append(eval(myScript.js))
Попробуйте например так, эксперименты идут на пользу.
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499713
Slavich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_stавторdivBoxLoadID.append(eval(myScript.js))
Попробуйте например так, эксперименты идут на пользу.


Эхххх... несфортило. Буду дальше репу чесать.
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36499785
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если что-то типа этого:
Код: plaintext
1.
2.
3.
4.
var scriptElem = document.createElement( 'script' );  
scriptElem.setAttribute( 'src' , 'myScript.js' );  
scriptElem.setAttribute( 'type' , 'text/javascript' );  
document.getElementsByTagName( 'head' )[ 0 ].appendChild( scriptElem );  
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36500141
Slavich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_stА если что-то типа этого:
Код: plaintext
1.
2.
3.
4.
var scriptElem = document.createElement( 'script' );  
scriptElem.setAttribute( 'src' , 'myScript.js' );  
scriptElem.setAttribute( 'type' , 'text/javascript' );  
document.getElementsByTagName( 'head' )[ 0 ].appendChild( scriptElem );  


Спасибо, сейчас попробую.
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36500298
Slavich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эххх... опять терплю фиаско.
Ладно, возьму тайм-аут до завтра.
Утро, вечера мудренее
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36500467
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроссдоменный пример без всяких библиотек.
Основная страница:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<script>
function sendjs() {
var scriptElem = document.createElement( 'script' );
scriptElem.setAttribute( 'src' , 's.js' );
scriptElem.setAttribute( 'type' , 'text/javascript' );
document.getElementsByTagName( 'head' )[ 0 ].appendChild( scriptElem );
}
</script>
<input type="button" value="js" onclick="sendjs()">
<div id="ppp"></div>
s.js (тут ваш gridgoods.html, который выводится на главную страницу):
Код: plaintext
1.
2.
3.
4.
5.
document.getElementById('ppp').innerHTML='yes'; // тут всё, что связано с html
var scriptElem = document.createElement( 'script' );
scriptElem.setAttribute( 'src' , 'sss.js' ); // тут задаётся присоединённый файл скриптов
scriptElem.setAttribute( 'type' , 'text/javascript' );
document.getElementsByTagName( 'head' )[ 0 ].appendChild( scriptElem );
тут содержимое присоединённого файла скриптов (sss.js):
Код: plaintext
1.
alert('xxx_yes');
Вариантов наверное много, всё зависит от фантазии разработчика.
...
Рейтинг: 0 / 0
Ajax загрузка страницы содержащую jqGrid
    #36504582
Slavich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_st
Вы гений. МЕГААГРОМНОЕ спасибо. Я ступил.
Все заработало. Вот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
jQuery.ajax({
type: 'GET',
url: loadStr,
success: function(result){
			divBoxLoadID.hide();
			divBoxLoadID.empty();
			divBoxLoadID.append(result);
			var scriptElem = document.createElement( 'script' );  
			scriptElem.setAttribute( 'src' , "http://127.0.0.1/mixgoods/myScript.js" );
			scriptElem.setAttribute( 'type' , 'text/javascript' );  
			document.getElementsByTagName( 'head' )[ 0 ].appendChild( scriptElem );  
 		        divBoxLoadID.show();
	 	 }
});
Я как-то сразу не догнал, что если указать scriptElem.setAttribute( 'src' , "myScript.js" );
то файл скрипта небудет виден т.к. нужно указывать полный путь.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ajax загрузка страницы содержащую jqGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]