Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: new_object в opener
 
 автор: Night_charter   (04.06.2006 в 22:47)   письмо автору
 
 

Всем привет!
Пишу интернет-магазин, столкнулся с проблемой..
Значит смотрим товары в файле index.php, при нажатии кнопки купить, открывается подобным кодом, я точно не уверен - это iframe или что-то еще - новое окно, не всплывающее, а как слой.

<SCRIPT language=JavaScript type=text/javascript><!--
    flying_cart_Def=new Object();
    flying_cart_Def.id="flying_cart";
    flying_cart_Def.visible=false;
    flying_cart_Def.left=4;
    flying_cart_Def.top=4;
    flying_cart_Def.width=250;
    flying_cart_Def.height=300;
    flying_cart_Def.src="empty_cart.html";
    flying_cart_Def.scroll=true;
    flying_cart_Def.headerHeight=22;
    flying_cart_Def.scrolling="YES";
    flying_cart_Def.addmsieparam="FRAMEBORDER=0";
    flying_cart_Def.addmsiestyle="border: 1px solid #808080;";
    flying_cart_Def.headerHTML='<TABLE WIDTH="252" BORDER="0" CELLSPACING="0" CELLPADDING="3" BGCOLOR="#808080"><TR>' + 
      '<TD NOWRAP WIDTH="100%" STYLE="padding-left: 6px;"><FONT color="#FFFFFF"><B>Моя корзина<\/B><\/FONT><\/TD>' + 
      '<TD WIDTH="16"><A HREF="javascript://" OnClick="cart_hide(&#39;flying_cart&#39;);"><IMG SRC="images/flyingcart_close.gif" ALT="Спрятать корзину" WIDTH="16" HEIGHT="16" BORDER="0"><\/A><\/TD>' +
      '<\/TR><\/TABLE>';
    flying_cart = new DHTMLcart(flying_cart_Def);

  //--></SCRIPT>

Концепция заключается в том, что раньше открывал новое окно window.open(smallkart.php) и в нем пересчитывал весь товар. В этом новом окне (файле smallkart.php) передавал такую строку:

<script>
    
window.opener.document.shopping_cart_form.gc.value = '19 товаров';

    window.opener.document.shopping_cart_form.ca.value = '70 у.е';
</script>

Все отлично работало, из дочернего окна кол-во товаров и общая сумма передавалась в основное окно.
Сейчас сделал этот iframe и подобным образом не передаются кол-во товаров и общая сумма.
В основном окне в строке состояния ошибка javascript и пишется:
"window.opener.document.shopping_cart_form" - есть null или не является объектом.
Пробовал уже следующими способами:


window.opener.document.shopping_cart_form.gc.value
window.document.shopping_cart_form.gc.value
opener.document.shopping_cart_form.gc.value
gc.value
shopping_cart_form.gc.value

Помогите решить проблему!!!
Заранее благодарен!

   
 
 автор: Night_Charter   (05.06.2006 в 13:15)   письмо автору
 
   для: Night_charter   (04.06.2006 в 22:47)
 

Что никто не поможет?

   
 
 автор: solenko   (05.06.2006 в 14:56)   письмо автору
 
   для: Night_charter   (04.06.2006 в 22:47)
 

Я для таких целей обычно пользуюсь немного другим мтодом.
Скажем, на странице есть div, в котором мы отображаем состояние корзины.
<div id=chartDiv>

Далее при нажатии кнопки добавить выполняем код:

scr = document.createElement('SCRIPT');
scr.src = 'chart.php?action=add&id=<id_товара>';
document.body.appendChild(scr);

в chart.php добавляем товар в корзину и на выход выдаем:

divObj  = document.getElementById('chartDiv');
divObj.innerHTML = <новый текст>;

Не уверен в синтаксисе, но подход рабочий однознаяно.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования