Гость
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax. теоретический вопрос вызова объектов. / 8 сообщений из 8, страница 1 из 1
25.09.2006, 14:01
    #34009758
Пчеловод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax. теоретический вопрос вызова объектов.
На странице page1.htm есть
Код: plaintext
1.
2.
<select name="smelter" id="smelter">
<option>тут их несколько</option>
</select>
и есть
Код: plaintext
<div id="table">сюда динамически выводим табличку</div>
и есть еще один select, изменяя значения которого я подгружаю с параметрами страницу page2.htm, которая выводит (через innerHTML) html-табличку в div "table". Как мне со страницы page2.htm передать данные в страницу page1.htm?
я пробовал так - на странице page2.htm вызываю функцию:
Код: plaintext
document.getElementById("smelter").selectedIndex =  3 ;
, но получаю ошибку типа "Предполагается наличие объекта". Т.е. получается, что подгружая данные через innerHTML, мы получаем не одну итоговую страницу, а все равно две несвязанные между собой страницы :(

Просветите меня, пожалуйста, все ли я правильно понял...
...
Рейтинг: 0 / 0
25.09.2006, 15:46
    #34010205
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax. теоретический вопрос вызова объектов.
Пчеловодя подгружаю с параметрами страницу page2.htm, которая выводит (через innerHTML) html-табличку в div "table".а по-русски?
...
Рейтинг: 0 / 0
25.09.2006, 16:03
    #34010273
Пчеловод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax. теоретический вопрос вызова объектов.
По-русски так можно выразиться:

page1.htm:
Код: 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.
<html>
<body>
<script language="javascript">
function getList() {
    if (typeof window.ActiveXObject != 'undefined' ) {
    xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
    xmlDoc.onreadystatechange = process ;
    } else {
    xmlDoc = new XMLHttpRequest();
    xmlDoc.onload = process ;
    }
    xmlDoc.open( "GET", "page2.htm", false );
    xmlDoc.send();
}

function process() {
    if ( xmlDoc.readyState !=  4  ) return ;
    document.getElementById("mytable").innerHTML = xmlDoc.responseText ;
}
</script>

<select name="smelter" id="smelter">
<option> 111 </option>
<option> 222 </option>
<option> 333 </option>
</select>

<select name="month" id="month" onChange="getList()" class="style1">
    <option value="0">Select month</option>
    <option value="1">January</option>
    <option value="2">February</option>
    <option value="3">March</option>
    <option value="4">April</option>
    <option value="5">May</option>
    <option value="6">June</option>
    <option value="7">July</option>
    <option value="8">August</option>
    <option value="9">September</option>
    <option value="10">October</option>
    <option value="11">November</option>
    <option value="12">December</option>
</select>
<div id="mytable">...</div>
</body>
</html>

page2.htm:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<html>
<body onLoad="fill_form();">
<script language="javascript">
function fill_form() {
    document.getElementById("smelter").selectedIndex =  3 ;
	return false;
}
</script>
</body>
</html>
...
Рейтинг: 0 / 0
25.09.2006, 16:18
    #34010338
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax. теоретический вопрос вызова объектов.
всё неправильно.
1) div не может иметь в качестве потомка элемент html.
2) скрипты при такой загрузке часто не выполняются.
3) сделать всё по уму.
если нужно подгружать только скрипт, то можно так и не заморачиваться.
...
Рейтинг: 0 / 0
25.09.2006, 16:27
    #34010369
Пчеловод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax. теоретический вопрос вызова объектов.
дело в том, что нужно подгружать не только один скрипт...
идея заключалась в создании страницы, аналогичной работе gmail, т.е. работа с данными без перезагрузки страницы целиком.

один селектор выбирает месяц (страница page1.htm) - в итоге отображается некий отчет (page2.htm) за выбранный месяц (это работает). в отчете хотелось нажать на кнопочку, в результате чего на странице page1.htm заполняется некая форма (данные берутся из отчета). затем форма сохраняется и отображается на странице page3.htm

а какие элементы можно в div передать? можно ли передать в него таблицу и javascript?
...
Рейтинг: 0 / 0
25.09.2006, 17:11
    #34010558
Пчеловод
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax. теоретический вопрос вызова объектов.
похоже, аналогичный вопрос разбирается в этой ветке на phpclub-e . Ну и соответственно имеет смысл весь форум почитать...
...
Рейтинг: 0 / 0
26.09.2006, 18:39
    #34013787
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax. теоретический вопрос вызова объектов.
всё неправильно. Страница либо одна, либо они в разных окнах, либо в разных фреймах. Аякс, может, и моден, но хтмл пока ещё никто не отменял и отменять не собирается. Через див можно передавать почти всё http://www.w3.org/TR/html401/struct/global.html#edef-DIV но внимательнее со скриптами: как я сказал, при такой загрузке они могут не компилиться.
...
Рейтинг: 0 / 0
02.10.2006, 10:35
    #34025236
М.Голованов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ajax. теоретический вопрос вызова объектов.
[quot maXmo]как я сказал, при такой загрузке они могут не компилиться./quot]

maXmo прав. При изменении содержимого документа методом innerHTML="bla bla" скрипты, содержащиеся в этом "bla bla", НЕ исполняются.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax. теоретический вопрос вызова объектов. / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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