Автор Тема: передача данных  (Прочитано 5624 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kan1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kan1.nm.ru
передача данных
« : 30 Января 2006, 13:04:49 »
Как можно извлечь содержимое(многострочное)  из формы одного окна и добавить в пустой документ из другого???
« Последнее редактирование: 30 Января 2006, 13:10:41 от kan1 »

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
передача данных
« Ответ #1 : 30 Января 2006, 14:55:10 »
kan1
Смотря какие окна (подчиненность).
LJ: Backslashed life (rss)

Оффлайн kan1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kan1.nm.ru
передача данных
« Ответ #2 : 31 Января 2006, 11:19:25 »
Из первого открывается второе(вначале пустое, постепенно заполняется), никаких связей между ними нет, фреймы не используются.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
передача данных
« Ответ #3 : 31 Января 2006, 13:51:00 »
kan1
Из второго к первому можно обратиться, используя window.opener (в том случае, если оно открыто по window.open).
Если окна совсем посторонние - тогда никак.
LJ: Backslashed life (rss)

Оффлайн kan1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kan1.nm.ru
передача данных
« Ответ #4 : 31 Января 2006, 15:27:40 »
В первом окне есть форма с текстом (просто текст без использования каких-либо полей) на несколько строк. Есть ли какой-нибудь метод, что-бы копию содержимого этой формы добавить в документ из другого окна, к которому конечно можно обратиться?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
передача данных
« Ответ #5 : 31 Января 2006, 16:08:15 »
kan1
Если из открывающего к открытому - тогда window-id.document.body.innerHTML или любой другой подобный вызов.
Если из открытого к открывшему - тогда document.body.innerHTML+=window.opener.getElementById(form-element-id).value (или тоже innerHTML).
[off]* или window.opener.document.getElementById(form-element-id).value, что-то я засомневался[/off]
LJ: Backslashed life (rss)

Оффлайн kan1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kan1.nm.ru
передача данных
« Ответ #6 : 01 Февраля 2006, 08:52:37 »
Почти работает.

Выдаёт ошибку но добавляет:
function addform(){
 win1=open("","Window1");
win1.document.body.innerHTML=win1.opener.document.body.all["fres1"].innerHTML;
};

А вот так только черту
function addform(){
win1=open("","Window1");
win1.document.body.innerHTML=win1.opener.document.body.all["fres1"].innerHTML;
 win1.document.writeln("
");
};

ПОЧЕМУ????
« Последнее редактирование: 01 Февраля 2006, 09:14:49 от kan1 »

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
передача данных
« Ответ #7 : 01 Февраля 2006, 11:15:08 »
kan1
1.Обращаться к fres1 не через document.all, а через getElementById
2.writeln вполне справедливо заменяет содержимое документа. Добавляй HR к innerHTML.
LJ: Backslashed life (rss)

Оффлайн kan1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kan1.nm.ru
передача данных
« Ответ #8 : 01 Февраля 2006, 11:25:53 »
Позже я так и сделал (присоединение, а не запись) и всё заработало.

Оффлайн kan1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kan1.nm.ru
передача данных
« Ответ #9 : 01 Февраля 2006, 13:54:56 »
В общем все данные замечательно добавляются, но почему-то не сохраняются, когда я в новом окне делаю "Сохранить как". Как можно организовать их сохранение, а то в результате получается пустая страница?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
передача данных
« Ответ #10 : 01 Февраля 2006, 14:21:13 »
kan1
В IE<7 - никак (т.е., мне не известно, возможно решение и есть).
В Gecko и остальных обычный save сработает.
LJ: Backslashed life (rss)

Оффлайн kan1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kan1.nm.ru
передача данных
« Ответ #11 : 02 Февраля 2006, 14:50:06 »
Хоть как-нибудь, аплеты или ещё как. Пробовал загонять в текстовую переменную всё, а потом document.write, но  всё равно сохраняется пустая страница.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
передача данных
« Ответ #12 : 02 Февраля 2006, 16:45:02 »
kan1
Можешь попробовать добавлять не в документ, а в textarea в существующем документе - поля IE сохраняет. А само поле можно сделать незаметным юзеру.
Но это уже костыль.
LJ: Backslashed life (rss)

Оффлайн kan1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 66
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kan1.nm.ru
передача данных
« Ответ #13 : 03 Февраля 2006, 09:11:01 »
Не получится, данные формируются динамически, так что количество строк, а значит и высота textarea не известны.

 

Sitemap 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