Вернуть элемент по window.opener или что-то...
Доброго времени уважаемые!
В основном окне имеем такой код <script language="JavaScript" src="scripts.js"></script>
<form method=post name=\"s_add\" id=\"s_add\">
<select name=\"city\" id=\"city\">....
<a href=\"javascript:open_window('other_city.php', '800', '600')\">другой город</a>
В scripts.js:
function open_window(link,w,h)
{
var features, w, h;
var top = (screen.height - h)/2, left = (screen.width - w)/2;
if(top < 0) top = 0;
if(left < 0) left = 0;
features = 'top=' + top + ',left=' +left;
features += ',height=' + h + ',width=' + w + ',menubar=no,location=no,resizable=no,scrollbars=yes,status=1';
newWin = open(link, 'displayWindow', features);
}
В открываемом по window.open other_city.php
<a href=\"javascript:window.opener.document.s_add.city.options.add(new Option('Екатеринбург (2)','xxxx',true,true));self.close()\">Екатеринбург</a>
т.е. открываем окно, выбираем город которого небыло в выпадающем списке, пытаеемся его добавить в форму на первом скрипте. С оперой и мозилой все летает на ура, эксплорер никак не хочет работать, на сколько я понимаю потомучто он "не признаёт элементы, созданные в другом окне".. Как реализовать чтоб везде работало? |
Цитата:
Если например, для получения ссылки на элемент использовать
obj=document.getElementById('нужный_ИД')
для создания элементов использовать
o=document.createElement('тег')
для добавления элемента в другой элемент использовать obj.appendChild(o) вроде работало всегда и везде... |
Цитата:
opener.document.createElement('option')
|
Всем спасибо!
Сделал вобщем так: В scripts.js добавил
function ins_city(city_id,city_name) {
document.s_add.city.options.add(new Option(city_name,city_id,true,true));
}
Ссылки во всплывающем окне заменил на span:
<span onClick=\"if (window.opener){window.opener.ins_city('xxxx','Екатеринбург (2)')};self.close()\">Екатеринбург</span>
Взято отсюда |
| Часовой пояс GMT +3, время: 07:20. |