Есть свойство заказа типа LOCATION:
Соответственно оно выводится компонентом bitrix:sale.order.ajax для заполнения, но заполняя это поле, после нажатия "Оформить заказ" появляется сообщение об ошибке:
То есть, как будто не видит заполненного значения.
Смотрю DOM, вижу такое:
Таким образом, вводя данные в поле input пользователь вводит в #ORDER_PROP_7_val, а #ORDER_PROP_7 должно как бы само собой заполняться.
Мне показалось, что по какой-то причине не выполняется JS и #ORDER_PROP_7 должен дублировать данные из #ORDER_PROP_7_val, поэтому добавил такой код:
Технически он работает, но проблему не решает. Компонент всё также не видит заполненного поля.
Дальше я полез в исходники компонента:
Не разбираясь детально в именах массивов и ключей, видно, что компонент в этом поле ищет число (IntVal) и если не находит - пишет об ошибке.
Так что же делать?
Соответственно оно выводится компонентом bitrix:sale.order.ajax для заполнения, но заполняя это поле, после нажатия "Оформить заказ" появляется сообщение об ошибке:
То есть, как будто не видит заполненного значения.
Смотрю DOM, вижу такое:
Таким образом, вводя данные в поле input пользователь вводит в #ORDER_PROP_7_val, а #ORDER_PROP_7 должно как бы само собой заполняться.
Мне показалось, что по какой-то причине не выполняется JS и #ORDER_PROP_7 должен дублировать данные из #ORDER_PROP_7_val, поэтому добавил такой код:
Код |
---|
$(document).on('keyup', '#ORDER_PROP_7_val', function() { var val = $(this).val(); $("#ORDER_PROP_7").val(val); }); |
Технически он работает, но проблему не решает. Компонент всё также не видит заполненного поля.
Дальше я полез в исходники компонента:
Код |
---|
if ($arOrderProps["TYPE"]=="LOCATION" && ($arOrderProps["IS_LOCATION"]=="Y" || $arOrderProps["IS_LOCATION4TAX"]=="Y")) { if ($arOrderProps["IS_LOCATION"]=="Y") $arUserResult["DELIVERY_LOCATION"] = IntVal($curVal); if ($arOrderProps["IS_LOCATION4TAX"]=="Y") $arUserResult["TAX_LOCATION"] = IntVal($curVal); if (IntVal($curVal)<=0) $bErrorField = True; } |
Не разбираясь детально в именах массивов и ключей, видно, что компонент в этом поле ищет число (IntVal) и если не находит - пишет об ошибке.
Так что же делать?
postoev.ru/blog/