JS Недопустимый вызывающий объект

T
На сайте с 24.07.2008
Offline
132
4549

Добрый день, беда в IE10

Положил товар в корзину, после этого пытаюсь выбрать другой размер этого же товара, и получаю ошибку JS:

SCRIPT65535: Недопустимый вызывающий объект

common.js, строка 11 символ 18

И теперь не могу положить в корзину ни один из товаров, везде появляется эта ошибка.

Не могу понять что случилось?

Ссылка на проблему:

http://www.koza-de-reza.ru/im/catalog/item/252211/

Помогите пожалуйста ((

C
На сайте с 04.02.2005
Offline
277
#1

Ошибка проявляется в ИЕ - исправлять код в common.js, сделав его кроссбраузерным

T
На сайте с 24.07.2008
Offline
132
#2
Chukcha:
Ошибка проявляется в ИЕ - исправлять код в common.js, сделав его кроссбраузерным

Спасибо конечно )) Но это и так было понятно.

Вопрос в том - что конкретно надо исправить?

Я так понял ошибка в объявлении переменной внутри цикла? Но я не понимаю почему это косяк?

C
На сайте с 04.02.2005
Offline
277
#3

Не совсем так

function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {

Объект clonedOptions, скорей всего неверно идентифицируется

А ругается он на clonedOptions.length потому как clonedOptions - null

gormarket
На сайте с 29.12.2010
Offline
47
#4

Tempter, попробуйте в файле

bitrix/templates/.default/js/common.js

заменить пару функций их аналогами, сделанными под jQuery (она все равно уже подключена)

IE10 нет в наличии, но в IE11 такой вариант работает (функции с сайта в IE11 "не пашут")


function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {
$(sel2).empty()
var re = new RegExp("^(select|" + sel1.find("option:selected").attr("value") + ")$");
clonedOptions.each(function(){
if($(this).attr("class").match(re)){
sel2.append($(this).clone(true))
};
});
};
function dynamicSelect(id1, id2) {
var sel1 = $("#"+id1);
var sel2 = $("#"+id2);
var clonedOptions = sel2.find("option").clone(true);
refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
sel1.change(function() {
refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
});
};
Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
C
На сайте с 04.02.2005
Offline
277
#5

в ие11 какая-то бяка

я пытался объявить clonedOptions глобальной, но в какой-то момент он все равно терялся.

Про jqurey я ТС уже предложил

Но по большому счету - как-то неправильно хранить переменные в селекте (option), затем их куда-то копировать. Затем использовать по значениям.

Как по мне...

я бы в этом блоке создал бы ассоциативный массив (объект) и по значению option в размере выбирал бы цвет. После инициализации размеров, пока не выбран реальный размер - цвет должен быть скрыт.

T
На сайте с 24.07.2008
Offline
132
#6

Поменял на предложенные функции, вроде как заработало. Если у кого еще есть IE10 зайдите плз на сайт и положите в корзину 2 раза подряд один и тот же товар с одинаковым размером и цветом. Поидее на 2ой раз всё ломалось, сейчас же вроде работает.

DiAksID
На сайте с 02.08.2008
Offline
218
#7
Chukcha:
в ие11 какая-то бяка...

11 осёл по скриптам вообще не радует, опять эксклюзива наваяли гады....

show must go on !!!...
C
На сайте с 04.02.2005
Offline
277
#8

В ИЕ11 работает

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий