проблема с окном в форме

sergey24

Новичок
проблема с окном в форме

есть задача:
с формы родительского окна, выбирается по ссылке в новом окне элемент и окно закрывается, содержимое переменной передается форму...

у меня не всегда закрывается в рнр новое окно, не пойму почему....

исходник:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" dir="ltr" lang="ru"><head>

<script type="text/javascript"><!--
function counters(group)
{
el = document.form.elements;
for (i = 0; i < el.length; i++)
if (el.name=='type' && el.value==group) el.checked=true;
window.open('code.htm?counters='+group,'Counters',
'width=720,height=400,scrollbars=yes,resizable=yes');
}
//--></script>

<form name=form method=get>
<input type=hidden name=imbaze value=0>
<a href="javascript:counters(50)"> кликните для выбора другого цвета</a>
<input type=submit name=ok value="ok">
</form>



новое окно:

  • <script language="JavaScript">
    <!--
    function s(subtype)
    {
    if (window.opener) {
    window.opener.document.form.imbaze.value=subtype;
    window.close();
    }
    }

    //-->
    </script></head><body bgcolor="#ffffff">
    <b>Выберите один из счетчиков:</b><br>

    <a href="javascript:s(1)"><img src="code_files/logo_002.gif" border="0" height="31" hspace="10" vspace="10" width="31"></a>

    <a href="javascript:s(2)"><img src="code_files/logo_005.gif" border="0" height="31" hspace="10" vspace="10" width="31"></a>

    <a href="javascript:s(3)"><img src="code_files/logo_016.gif" border="0" height="31" hspace="10" vspace="10" width="31"></a>
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
sergey24
Насколько я понял, вам нужно закрыть окрытое поп-ап окно?...
тогда self.close(); в этом поп-ап окне.
2/ opener.close() - если нужно закрыть родительское окно из поп-ап окна.
3/ w = window.open(............);
w.close(); - если нужно из родительского закрыть поп-ап окно.

(вроде перечислил все возможное)
 

sergey24

Новичок
переделал, не помогло:

<script language="JavaScript">
<!--
function s(subtype)
{
if (window.opener) {
window.opener.document.form.sub_50.value=subtype;
self.close();
}
}

//-->
</script>
 

dimagolov

Новичок
предварительно надо завернуть window.opener на себя же:
window.opener= window;
window.close();
 

sergey24

Новичок
тоже не работает :)

кто то из спецов по JS есть - подскажите...
очень срочно надо
 

dimagolov

Новичок
блин, s надо обработчиком onclick на ссылке делать, а саму ссылку на пустой (#) якорь
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
sergey24
тоже не работает
Чему радуешся тогда?
не работает не ответ в этом форуме.
Как пробовал?
Что делал?
FireBug смотрел?
Что видел?

-~{}~ 06.01.08 19:59:

dimagolov
Проблемма у него не в этом...

sergey24
Поставьте вместо <a href
div onclick - сразу увидите ошибку.
Без дополнительнх плагинов. В стандартном IE
 

sergey24

Новичок
если Вы про это:

<div onclick="javascript:s(1)"><img src="code_files/logo_002.gif" border="0" height="31" hspace="10" vspace="10" width="31"></div>

то ссылка не пашет

-~{}~ 06.01.08 21:27:

самое удивительное, что тут все прекрасно работает...

http://www.liveinternet.ru/code?nick=ru

код брал от туда...

что пропустил не пойму...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
sergey24
Забудьте про слова НЕ ПАШЕТ НЕ РАБОТАЕТ.
1. Ошибки выдает? Какие?
2. Что именно не пашет?
2. Фкция s где?
 

dimagolov

Новичок
блин, можно гадать, причем очень успешно, но не стоит.
sergey24, вставь в код ф-ии s между всеми строчками alert('1');, alert('2');... и посмотри что работает, а что нет
 

sergey24

Новичок
выскакивает ошибка на 1

function s(subtype)
{
if (window.opener) {
alert('1');
window.opener.document.form.sub_50.value=subtype;
alert('2');
window.close();
alert('3');
}
}

-~{}~ 07.01.08 00:13:

в примере была разная переменная, то из теста
я сделал одну не помогло все равно на первом шаге останавливается

-~{}~ 07.01.08 00:32:

проблемы начинаются после того, как в рнр используются сессии,
переменная imbaze в сессии не используется
 

dimagolov

Новичок
ну а теперь алерт window.opener.document.form.sub_50.value (обрезая с конца) до тех пор, пока не увидишь значение и не поймешь, чего у тебя нету. вообще есть id, getElementById и т.д.

при чем тут сессии? обоснуй, как они могут влиять
 

sergey24

Новичок
сам не пойму каким боком сессии влияют но без них все прекрасно работает :)

-~{}~ 07.01.08 00:52:

кстати в сессии всего 2 переменные
session_register("pid");
session_register("pas");

-~{}~ 07.01.08 01:39:

если я тебя правильно понял
дохожу до конца не выскакивает алерт
function s(subtype)
{
if (window.opener) {
alert('1');
window();alert('12');
alert('2');
window.close();
alert('3');
}
}
 

dimagolov

Новичок
что есть window(); ???
не выскакивает тот алерт, перед которым ошибка, выскакивает тот, после которого ошибка, что неясного?
 

sergey24

Новичок
короче проблемы с этой строчкой

window.opener.document.form.imbaze.value=subtype;alert('12');

как ее разбить по частям я не понял,
но окно не закрывается если в РНР юзаются сессии

Вот что я могу сказать

Есть какие то аналоги этого скрипта простенького ?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
как ее разбить по частям я не понял,
alert(window.opener.document.form.imbaze.value);
alert(window.opener.document.form.imbaze);
...........
скорее всего нет form
 

sergey24

Новичок
на этом тормозит
alert(window.opener.document);

после form
и что это может быть
и опять таки только когда сессии в рнр
 
Сверху