Internet Explorer не может передать кириллические запросы формы в Colorbox.

Главные вкладки

Аватар пользователя VasyOK VasyOK 7 мая 2017 в 17:54

Часто делаю формы заказа через webform + colorbox_node
примерно так https://blogpost.pp.ua/drupal/93

Сегодня заметил, что т.обр. не обарабатываются кириллические символы в запросах в Internet Explorer 11. Например тут http://terrabit.org/remont_noutbuki по кнопке Заказать в IE выскаивает: "Возникла AJAX HTTP ошибка..."

Т.е. так в IE работает:
<a class="colorbox-node" href="/forma-zakaza?razmer=3 mm">Заказать</a>
а так нет:
<a class="colorbox-node" href="/forma-zakaza?razmer=3 мм">Заказать</a>

"мм" - причина неработоспособности

Что-то можно сделать?

Комментарии

Аватар пользователя VasyOK VasyOK 28 августа 2018 в 14:36

"href="/forma-zakaza?razmer=3%20мм" - это вьюха формирует из полей товара. Если в поле названия есть пробел, как его на % заменить?

Аватар пользователя vvs_uh vvs_uh 28 августа 2018 в 20:57

Печально)
Немогу понять только почему, если делать так как написано тут https://blogpost.pp.ua/drupal/93 , т.е. передавать название продукта в ссылке (/content/bystryy_zakaz?product=[title]), то в IE все открывается. А если перезаписывать результат используя поле "Текст" (<a class="colorbox-node" href='/fast-order-form?product=[title]'>Заказ</a>) , то выходит эта ошибка. Если написать название продукта латиницей то все ок.

Аватар пользователя vvs_uh vvs_uh 28 августа 2018 в 22:19

Если заменить [title] на , например, Тест
<a class="colorbox-node" href='/fast-order-form?product=Тест'>Заказ</a>
то в IE ошибка появляется. А если заменить "Тест" на его код %D0%A2%D0%B5%D1%81%D1%82
<a class="colorbox-node" href='/fast-order-form?product=%D0%A2%D0%B5%D1%81%D1%82'>Заказ</a>
то ошибки нет. Выше sas@drupal.org дал ссылку на urlencode, но как тут его привязать что то никак не соображу.

Аватар пользователя VasyOK VasyOK 28 августа 2018 в 23:26

Честно не знаю. На другом сайте посмотрел.
Так работает "Иван_Иванов"
Так нет "Иван Иванов"

Насчет кирилолицы я скорей всего был не прав.