Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: kan1 от 30 Января 2006, 13:04:49
-
Как можно извлечь содержимое(многострочное) из формы одного окна и добавить в пустой документ из другого???
-
kan1
Смотря какие окна (подчиненность).
-
Из первого открывается второе(вначале пустое, постепенно заполняется), никаких связей между ними нет, фреймы не используются.
-
kan1
Из второго к первому можно обратиться, используя window.opener (в том случае, если оно открыто по window.open).
Если окна совсем посторонние - тогда никак.
-
В первом окне есть форма с текстом (просто текст без использования каких-либо полей) на несколько строк. Есть ли какой-нибудь метод, что-бы копию содержимого этой формы добавить в документ из другого окна, к которому конечно можно обратиться?
-
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]
-
Почти работает.
Выдаёт ошибку но добавляет:
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("
");
};
ПОЧЕМУ????
-
kan1
1.Обращаться к fres1 не через document.all, а через getElementById
2.writeln вполне справедливо заменяет содержимое документа. Добавляй HR к innerHTML.
-
Позже я так и сделал (присоединение, а не запись) и всё заработало.
-
В общем все данные замечательно добавляются, но почему-то не сохраняются, когда я в новом окне делаю "Сохранить как". Как можно организовать их сохранение, а то в результате получается пустая страница?
-
kan1
В IE<7 - никак (т.е., мне не известно, возможно решение и есть).
В Gecko и остальных обычный save сработает.
-
Хоть как-нибудь, аплеты или ещё как. Пробовал загонять в текстовую переменную всё, а потом document.write, но всё равно сохраняется пустая страница.
-
kan1
Можешь попробовать добавлять не в документ, а в textarea в существующем документе - поля IE сохраняет. А само поле можно сделать незаметным юзеру.
Но это уже костыль.
-
Не получится, данные формируются динамически, так что количество строк, а значит и высота textarea не известны.