Показать сообщение отдельно
  #1 (permalink)  
Старый 22.11.2010, 14:32
Новичок на форуме
Отправить личное сообщение для vitaliy11 Посмотреть профиль Найти все сообщения от vitaliy11
 
Регистрация: 22.11.2010
Сообщений: 2

Не работает в експлоере обращение к массиву
(в опере и файерфокс работает)

На сайте цена отображается в зависимости от выбранных параметров, которые определюятся радиобатонами. Если произошло изменение то вызывается джаваскрипт функция, котора меняет цену.

Вот такие данные:

1. Примерный объект (был массив, но прочитал что для ассоициативных лучше использовать объекты) - количество ламп - материал - цена:

<SCRIPT language=JavaScript type=text/javascript>
	var ar_price= new Object(); ar_price["1"]= {}; ar_price["1"][114]=4277; ar_price["1"][116]=5941; ar_price["1"][115]=4823; ar_price["1"][117]=6097;  var ar_presencel= new Object(); ar_presencel["1"]= {}; ar_presencel["1"][114]='В наличии'; ar_presencel["1"][116]='В наличии'; ar_presencel["1"][115]='Под заказ'; ar_presencel["1"][117]='Под заказ'; 
	</script>


2. Функция

<SCRIPT language=JavaScript type=text/javascript>
	function priceView()
	{
	var price_view=1; 
	numpf=document.forms["fprice"].hnump.value;
	materialf=document.forms["fprice"].hmaterial.value;
	//alert(materialf);
	//numpf=document.getElementById('fprice').hnump.value;
	//materialf=document.getElementById('fprice').hmaterial.value;
	price=ar_price[numpf][materialf];
	presencel=ar_presencel[numpf][materialf];
	//alert(price);
		if(price==undefined)
		{price='не указано';}
		else
		{price=price+' грн.';}
		if(presencel==undefined)
		{presencel='нет позиции';}
				
		if(price_view==1)
		{
		document.getElementById('price').innerHTML=price;
		}
	document.getElementById('presencel').innerHTML=presencel;
	//alert(price);
	return false;
	}
	</script>


3. Ошибку выдает на строчку:

price=ar_price[numpf][materialf];

Объект не поддерживает это свойство или метод

Если кто знает - подскажите пожалуйста как его сделать
Ответить с цитированием