dimases
Новичок
Проблема с окнами (объектной адресацией к ним)
Ситуация такая: есть каталог товаров, выводящейся на главном окне. При клике на "подробнее" открывается новое окно следующим кодом:
Массив oww предварительно определяется как var oww = new Array();, id - идентификатор товара.
Далее, есть форма и на основном окне для занесения товара в корзину и такая же на новом открытом окне. Причем, сабмит и той и той форм идет в IFRAME на основном окне:
Сама форма условно такая:
В basketcount<?=$value[id_items]?> потом кладется сумма.
Ну и само добавление в корзину выглядет так:
Так в целом задача свелась к тому, чтобы из IFRAME-фрейма зовущемся "basket" надо обратиться, если вызвали из него, к окну и закрыть его после добавления...
Все хорошо, но не работает, и никак не могу понять почему =(((
Тест вида:
работает на ура... У кого-нибудь есть предложения?
Ситуация такая: есть каталог товаров, выводящейся на главном окне. При клике на "подробнее" открывается новое окно следующим кодом:
PHP:
Ссылка:
<a
href="<?=$add_dir?>more/<?=$value["id_items"]?>/" onclick="show('w<?=$value[id_items]?>');" target="w<?=$value[id_items]?>" class="nameitem"><img src="<?=$add_dir?>upload/_<?=$value["photo"]?>" width=160 border=0></a>
JS-функция
function show(id) {
var Left = (screen.width - 650) / 2 ;
var Top = (screen.height - 550) / 2 ;
oww[id]=window.open('',id,'width=700,height=450,left='+ Left +',top='+ Top +',scrolling=yes,resizable=yes,scrollbars=yes');
return false;
}
Далее, есть форма и на основном окне для занесения товара в корзину и такая же на новом открытом окне. Причем, сабмит и той и той форм идет в IFRAME на основном окне:
PHP:
<iframe src="/basket/" name="basket" scrolling="No" style="height:300px; width: 300px" frameborder="0"></iframe>
PHP:
<form method="GET"
name="form<?=$value[id_items]?>"
action="<?=$add_dir?>add_basket/" target="basket" onsubmit="">
<input type="hidden" name="close" value="<?=$value[id_items]?>">
<input type="hidden" name="item" value="<?=$value[id_items]?>">
<input type="text" name="count" maxlength='255' size=1 class=menuform value="<?=($value[count_u]>0?$value[count_u]:"1")?>"> шт
<input type="image" border="0" src="/images/ok_b.gif" width="34" height="21" alt="Добавить в корзину">
Заказано:
<input type="text" name="basketcount<?=$value[id_items]?>" readonly size=3 value="<?=(!empty($basket[items][$value[id_items]])?$basket[items][$value[id_items]]:"0")?>" class=menuformn> шт.
</form>
Ну и само добавление в корзину выглядет так:
PHP:
// занесения в сессию пропускаем
<script language="javascript"><!--
parent.document.form<?=$item?>.basketcount<?=$item?>.value=<?=$basket[items][$item]?>;
// а ниже - если из открытого окна - то закрываем его
<?
if ($close!=""){
?>
oww[<?=$close?>].close;
<?
}
?>
//--></script>
Все хорошо, но не работает, и никак не могу понять почему =(((
Тест вида:
PHP:
<script language="javascript" type="text/javascript"><!--
var ow = new Array();
function openWin(){
if(ow[544]!=null && !ow[544].closed) ow[544].close();
ow[544]=window.open('','openWin','resizable=no,menubar=no,status=no,scrollbars=no,width=200,height=200,top=10,left=10');
ow[544].focus();
return false;
}
function pageWin(){
if(ow[544]){
ow[544].location.href="win.html";
ow[544].focus();
}else{
alert("open window!");
}
return false;
}
//--></script>
<p><a href="#" onclick="return openWin()">1. open</a></p>
<p><a href="#" onclick="return pageWin()">2. load</a></p>