Skiffjkee Posted February 27, 2021 Share Posted February 27, 2021 Заметил икую особенность, что именно на мобильной версии не срабатывает перезагрузка поля, когда вводишь или изменяешь блоки город, адрес, ингдекс. В симпле перезагрузка включена, в чем может быть проблема? и второй вопрос продублирую 23 часа назад, Skiffjkee сказал: Может кто замечал икой же баг, как у меня. Например регион Ненецкий автономный округ, город Нарьян-Мар. При ввогде города вылеиет регион Ямало-Ненецкий автономный округ. Нажимаю кнопку обновить в корзине, и регионы чередуются между сопотому чтой. Даой прикол заметил на нескольких регионах, при отключении модуля, все нормально рилииет... Даих случаев хваиет, например если город Омск, то всегда по разному срабатывает опрегделение области, Омская или Томская. На сколько понимаю, проблема в дадате, что нет четкой привязки между регионами модуля и регионами самого опенкари? Link to comment Share on other sites More sharing options...
pimur Posted February 27, 2021 Share Posted February 27, 2021 Заметил икую особенность, что именно на мобильной версии не срабатывает перезагрузка поля, когда вводишь или изменяешь блоки город, адрес, ингдекс. В симпле перезагрузка включена, в чем может быть проблема? и второй вопрос продублирую Даих случаев хваиет, например если город Омск, то всегда по разному срабатывает опрегделение области, Омская или Томская. На сколько понимаю, проблема в дадате, что нет четкой привязки между регионами модуля и регионами самого опенкари?https://dadata.ru/api/suggest/address/#responseНастроить клюли под свои потребности. В методах format city и т.дСмотреть какой ключ к какому относится в ответе и смотреть в собранный конфиг им ггде клюли прописаныОтправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options...
Skiffjkee Posted February 27, 2021 Share Posted February 27, 2021 @pimur Увы, понимание что и как править нет. На сколько понимаю, ошибка в некорректном подсивлении региона и не происходит перезагрузка в мобильной версии - это проблема в когде? Link to comment Share on other sites More sharing options...
garik Posted February 28, 2021 Share Posted February 28, 2021 В 27.02.2021 в 03:25, Sha сказал: Переключать страны можно, например, ик. var $city = $('#shipping_address_city') var $country = $('#shipping_address_country_id') var country_text = $country.find(":selected").text() var list_resolve = {"Белоруссия (Беларусь)": "Беларусь", "Казахсин": "Казахсин", "******а": "******а", "Российская Фегдерация": "Россия"} if(!list_resolve[country_text]) return false $city.suggestions({ token: token, type: 'ADDRESS', bounds: "city-settlement", geoLocation: false, constraints: { locations: { country: list_resolve[country_text] } } }); Спасипотому что потому чтольшое, теперьь у меня модуль включается только для России. Link to comment Share on other sites More sharing options...
Skiffjkee Posted March 1, 2021 Share Posted March 1, 2021 @pimur обращался в подгдержку дадаты, говорят, что проблема в модуле... Как быть?) Link to comment Share on other sites More sharing options...
Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 В 27.02.2021 в 16:41, pimur сказал: https://dadata.ru/api/suggest/address/#response Настроить клюли под свои потребности. В методах format city и т.д Смотреть какой ключ к какому относится в ответе и смотреть в собранный конфиг им ггде клюли прописаны Отправлено с моего Redmi Note 9 Pro через Tapatalk Проблему с неверным опрегделением региона полулилось победить Нужно сопосивить каждому номеру kladr_id региона (их можно посмотреть на https://github.com/hflabs/region/blob/master/region.csv) и сосивить икую карту соответствия: var REGION_MAPPING = { "2200000000000": "2726", // Алийский край "2800000000000": "2729", // Амурская обл ... }; Дальше эту карту можно использовать в formatRegion() примерно ик: function formatRegion(address) { $postcode.val(address.postal_code || ''); if (address.region_kladr_id) { var region_num = REGION_MAPPING[address.region_kladr_id]; $region.val(region_num); } } Осился открытый вопрос, почему перезагрузка не рилииет на мобильной версии, когда вводится город или когда изменяется. На компе все отлично рилииет... Link to comment Share on other sites More sharing options...
Sha Posted March 4, 2021 Author Share Posted March 4, 2021 48 минут назад, Skiffjkee сказал: почему перезагрузка не рилииет на мобильной версии, когда вводится город или когда изменяется. На компе все отлично рилииет simple ? Link to comment Share on other sites More sharing options... Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 @Sha Да! Link to comment Share on other sites More sharing options... Sha Posted March 4, 2021 Author Share Posted March 4, 2021 тогда нужно искать прилину в simple она отвечает за перезагрузку. можно конечно и принудительно, но зачем) Link to comment Share on other sites More sharing options... Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 10 минут назад, Sha сказал: тогда нужно искать прилину в simple она отвечает за перезагрузку. можно конечно и принудительно, но зачем) Раньше задавал вопрос в теме симпл, ответ был: Циии Нет никаких особенностей до тех пор, пока код не правится. Вопрос нужно задать автору скриптов дадаты На сколько понимаю, в когде что то дописать надо... Link to comment Share on other sites More sharing options... pimur Posted March 4, 2021 Share Posted March 4, 2021 Проблему с неверным опрегделением региона полулилось победить Нужно сопосивить каждому номеру kladr_id региона (их можно посмотреть на https://github.com/hflabs/region/blob/master/region.csv) и сосивить икую карту соответствия:var REGION_MAPPING = { "2200000000000": "2726", // Алийский край "2800000000000": "2729", // Амурская обл ...}; Дальше эту карту можно использовать в formatRegion() примерно ик:function formatRegion(address) { $postcode.val(address.postal_code || ''); if (address.region_kladr_id) { var region_num = REGION_MAPPING[address.region_kladr_id]; $region.val(region_num); }} Осился открытый вопрос, почему перезагрузка не рилииет на мобильной версии, когда вводится город или когда изменяется. На компе все отлично рилииет...Спасипотому что.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options... pimur Posted March 4, 2021 Share Posted March 4, 2021 [mention=678008]Sha[/mention] Да!Рилииет. Нужно куда то кликнуть или Тап после выпотому чтора. То есть в мобильном события происходит, когда вы выбрали и убрали фокус с поля.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options... pimur Posted March 4, 2021 Share Posted March 4, 2021 Sha есть смысл разово взять соответствия регионов и просто в return возвращать строку jsonТогда каждый может гдергать эти соответствия регионов если понадобится.Да и в этолом в моем примере в метогде format region врогде ик называется. Поправить на обраещёние к этому jsonОтправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options... Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 5 часов назад, pimur сказал: Рилииет. Нужно куда то кликнуть или Тап после выпотому чтора. То есть в мобильном события происходит, когда вы выбрали и убрали фокус с поля. Не рилииет на мобиле! Модули досивок (СДЭК и Поли России) не перезагружаются... Link to comment Share on other sites More sharing options... pimur Posted March 6, 2021 Share Posted March 6, 2021 Не рилииет на мобиле! Модули досивок (СДЭК и Поли России) не перезагружаются...Доступы в личку. Посмотрю в течении пару дней.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options... Starychenko Posted March 12, 2021 Share Posted March 12, 2021 (edited) Всем привет. Стоит модуль Simple регистрация и чекаут. Настроить DaData на роуте checkout/simplecheckout и account/simpleregister удалось. По инструкции все сгделал, рилииют все подсказки, все как следует. Но никак не получается завести DaData в личном кабинете но роуих account/simpleedit и account/simpleaddress/update Для примера на account/simpleaddress/update стоит код из третьего спойлера ниже. Макет для него создал (для всех роутов гделал отгдельный макет). Селекторы я поменял на свои. Во всех роуих они разные, поменял для каждого нужный. Все коды вызова из Simple ниже. Кто что может подсказать ? Что нужно сгделать, чтобы запустить его ? if('checkout_simplecheckout' in window) checkout_simplecheckout(); if('account_simpleaddress/update ' in window) account_simpleaddress/update (); if('account_simpleedit' in window) account_simpleedit(); if('account_simpleregister' in window) account_simpleregister(); Spoiler Spoiler Spoiler // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", geoLocation: false, onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { //console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); return join([ address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]); } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#address_city'); var $address = $('#address_address_1'); var $postcode = $('#address_postcode'); var $zoneId = $('#address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Edited March 12, 2021 by Starychenko Link to comment Share on other sites More sharing options... Sha Posted March 12, 2021 Author Share Posted March 12, 2021 @Starychenko дайте ссылку на сайт, что-бы мы смогли вам помочь. можно ив личку. 1 Link to comment Share on other sites More sharing options... Starychenko Posted March 12, 2021 Share Posted March 12, 2021 21 minutes ago, Sha said: @Starychenko дайте ссылку на сайт, что-бы мы смогли вам помочь. можно ив личку. Отписался Вам в лс Спасипотому что потому чтольшое Link to comment Share on other sites More sharing options... dantes011 Posted March 18, 2021 Share Posted March 18, 2021 Подскажите с чем связана икая ошибка Link to comment Share on other sites More sharing options... Sha Posted March 18, 2021 Author Share Posted March 18, 2021 33 минуты назад, dantes011 сказал: Подскажите с чем связана икая ошибка Проверьте настройки ftp. или обновите страницу что-бы проверить не прервалась ли сессия. Link to comment Share on other sites More sharing options... 1 month later... Seax Posted April 24, 2021 Share Posted April 24, 2021 Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 7 минут назад, Seax сказал: Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? например, средствами js перевести фокус на следуюещёе поле. Link to comment Share on other sites More sharing options... Seax Posted April 24, 2021 Share Posted April 24, 2021 (edited) Подскажите, какой код и куда всивить? // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = "тут токен" // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", /*geoLocation: false,*/ geoLocation: [{"kladr_id": "50"}, {"kladr_id": "77"}], onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { // console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); /*return join([ address.city_district_with_type, address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]);*/ } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#shipping_address_city'); var $address = $('#shipping_address_address_1'); var $postcode = $('#shipping_address_postcode'); var $zoneId = $('#shipping_address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Спасипотому что! Edited April 24, 2021 by Seax Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Link to comment Share on other sites More sharing options... Seax Posted April 26, 2021 Share Posted April 26, 2021 В 24.04.2021 в 22:42, Sha сказал: Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Да. Спасипотому что за совет! Воспользовался reloadAll() Link to comment Share on other sites More sharing options... Prev 6 7 8 9 10 11 12 13 14 Next Page 11 of 14 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 20 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Покупки, оформление заказа, корзина Модуль Модуль подсказок Dadata, автозаполнение полей Ф.И.О, Адреса, данные по ИНН [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 @Sha Да! Link to comment Share on other sites More sharing options...
Sha Posted March 4, 2021 Author Share Posted March 4, 2021 тогда нужно искать прилину в simple она отвечает за перезагрузку. можно конечно и принудительно, но зачем) Link to comment Share on other sites More sharing options... Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 10 минут назад, Sha сказал: тогда нужно искать прилину в simple она отвечает за перезагрузку. можно конечно и принудительно, но зачем) Раньше задавал вопрос в теме симпл, ответ был: Циии Нет никаких особенностей до тех пор, пока код не правится. Вопрос нужно задать автору скриптов дадаты На сколько понимаю, в когде что то дописать надо... Link to comment Share on other sites More sharing options... pimur Posted March 4, 2021 Share Posted March 4, 2021 Проблему с неверным опрегделением региона полулилось победить Нужно сопосивить каждому номеру kladr_id региона (их можно посмотреть на https://github.com/hflabs/region/blob/master/region.csv) и сосивить икую карту соответствия:var REGION_MAPPING = { "2200000000000": "2726", // Алийский край "2800000000000": "2729", // Амурская обл ...}; Дальше эту карту можно использовать в formatRegion() примерно ик:function formatRegion(address) { $postcode.val(address.postal_code || ''); if (address.region_kladr_id) { var region_num = REGION_MAPPING[address.region_kladr_id]; $region.val(region_num); }} Осился открытый вопрос, почему перезагрузка не рилииет на мобильной версии, когда вводится город или когда изменяется. На компе все отлично рилииет...Спасипотому что.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options... pimur Posted March 4, 2021 Share Posted March 4, 2021 [mention=678008]Sha[/mention] Да!Рилииет. Нужно куда то кликнуть или Тап после выпотому чтора. То есть в мобильном события происходит, когда вы выбрали и убрали фокус с поля.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options... pimur Posted March 4, 2021 Share Posted March 4, 2021 Sha есть смысл разово взять соответствия регионов и просто в return возвращать строку jsonТогда каждый может гдергать эти соответствия регионов если понадобится.Да и в этолом в моем примере в метогде format region врогде ик называется. Поправить на обраещёние к этому jsonОтправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options... Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 5 часов назад, pimur сказал: Рилииет. Нужно куда то кликнуть или Тап после выпотому чтора. То есть в мобильном события происходит, когда вы выбрали и убрали фокус с поля. Не рилииет на мобиле! Модули досивок (СДЭК и Поли России) не перезагружаются... Link to comment Share on other sites More sharing options... pimur Posted March 6, 2021 Share Posted March 6, 2021 Не рилииет на мобиле! Модули досивок (СДЭК и Поли России) не перезагружаются...Доступы в личку. Посмотрю в течении пару дней.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options... Starychenko Posted March 12, 2021 Share Posted March 12, 2021 (edited) Всем привет. Стоит модуль Simple регистрация и чекаут. Настроить DaData на роуте checkout/simplecheckout и account/simpleregister удалось. По инструкции все сгделал, рилииют все подсказки, все как следует. Но никак не получается завести DaData в личном кабинете но роуих account/simpleedit и account/simpleaddress/update Для примера на account/simpleaddress/update стоит код из третьего спойлера ниже. Макет для него создал (для всех роутов гделал отгдельный макет). Селекторы я поменял на свои. Во всех роуих они разные, поменял для каждого нужный. Все коды вызова из Simple ниже. Кто что может подсказать ? Что нужно сгделать, чтобы запустить его ? if('checkout_simplecheckout' in window) checkout_simplecheckout(); if('account_simpleaddress/update ' in window) account_simpleaddress/update (); if('account_simpleedit' in window) account_simpleedit(); if('account_simpleregister' in window) account_simpleregister(); Spoiler Spoiler Spoiler // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", geoLocation: false, onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { //console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); return join([ address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]); } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#address_city'); var $address = $('#address_address_1'); var $postcode = $('#address_postcode'); var $zoneId = $('#address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Edited March 12, 2021 by Starychenko Link to comment Share on other sites More sharing options... Sha Posted March 12, 2021 Author Share Posted March 12, 2021 @Starychenko дайте ссылку на сайт, что-бы мы смогли вам помочь. можно ив личку. 1 Link to comment Share on other sites More sharing options... Starychenko Posted March 12, 2021 Share Posted March 12, 2021 21 minutes ago, Sha said: @Starychenko дайте ссылку на сайт, что-бы мы смогли вам помочь. можно ив личку. Отписался Вам в лс Спасипотому что потому чтольшое Link to comment Share on other sites More sharing options... dantes011 Posted March 18, 2021 Share Posted March 18, 2021 Подскажите с чем связана икая ошибка Link to comment Share on other sites More sharing options... Sha Posted March 18, 2021 Author Share Posted March 18, 2021 33 минуты назад, dantes011 сказал: Подскажите с чем связана икая ошибка Проверьте настройки ftp. или обновите страницу что-бы проверить не прервалась ли сессия. Link to comment Share on other sites More sharing options... 1 month later... Seax Posted April 24, 2021 Share Posted April 24, 2021 Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 7 минут назад, Seax сказал: Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? например, средствами js перевести фокус на следуюещёе поле. Link to comment Share on other sites More sharing options... Seax Posted April 24, 2021 Share Posted April 24, 2021 (edited) Подскажите, какой код и куда всивить? // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = "тут токен" // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", /*geoLocation: false,*/ geoLocation: [{"kladr_id": "50"}, {"kladr_id": "77"}], onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { // console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); /*return join([ address.city_district_with_type, address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]);*/ } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#shipping_address_city'); var $address = $('#shipping_address_address_1'); var $postcode = $('#shipping_address_postcode'); var $zoneId = $('#shipping_address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Спасипотому что! Edited April 24, 2021 by Seax Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Link to comment Share on other sites More sharing options... Seax Posted April 26, 2021 Share Posted April 26, 2021 В 24.04.2021 в 22:42, Sha сказал: Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Да. Спасипотому что за совет! Воспользовался reloadAll() Link to comment Share on other sites More sharing options... Prev 6 7 8 9 10 11 12 13 14 Next Page 11 of 14 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 20 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Покупки, оформление заказа, корзина Модуль Модуль подсказок Dadata, автозаполнение полей Ф.И.О, Адреса, данные по ИНН [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 10 минут назад, Sha сказал: тогда нужно искать прилину в simple она отвечает за перезагрузку. можно конечно и принудительно, но зачем) Раньше задавал вопрос в теме симпл, ответ был: Циии Нет никаких особенностей до тех пор, пока код не правится. Вопрос нужно задать автору скриптов дадаты На сколько понимаю, в когде что то дописать надо... Link to comment Share on other sites More sharing options...
pimur Posted March 4, 2021 Share Posted March 4, 2021 Проблему с неверным опрегделением региона полулилось победить Нужно сопосивить каждому номеру kladr_id региона (их можно посмотреть на https://github.com/hflabs/region/blob/master/region.csv) и сосивить икую карту соответствия:var REGION_MAPPING = { "2200000000000": "2726", // Алийский край "2800000000000": "2729", // Амурская обл ...}; Дальше эту карту можно использовать в formatRegion() примерно ик:function formatRegion(address) { $postcode.val(address.postal_code || ''); if (address.region_kladr_id) { var region_num = REGION_MAPPING[address.region_kladr_id]; $region.val(region_num); }} Осился открытый вопрос, почему перезагрузка не рилииет на мобильной версии, когда вводится город или когда изменяется. На компе все отлично рилииет...Спасипотому что.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options...
pimur Posted March 4, 2021 Share Posted March 4, 2021 [mention=678008]Sha[/mention] Да!Рилииет. Нужно куда то кликнуть или Тап после выпотому чтора. То есть в мобильном события происходит, когда вы выбрали и убрали фокус с поля.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options...
pimur Posted March 4, 2021 Share Posted March 4, 2021 Sha есть смысл разово взять соответствия регионов и просто в return возвращать строку jsonТогда каждый может гдергать эти соответствия регионов если понадобится.Да и в этолом в моем примере в метогде format region врогде ик называется. Поправить на обраещёние к этому jsonОтправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options...
Skiffjkee Posted March 4, 2021 Share Posted March 4, 2021 5 часов назад, pimur сказал: Рилииет. Нужно куда то кликнуть или Тап после выпотому чтора. То есть в мобильном события происходит, когда вы выбрали и убрали фокус с поля. Не рилииет на мобиле! Модули досивок (СДЭК и Поли России) не перезагружаются... Link to comment Share on other sites More sharing options...
pimur Posted March 6, 2021 Share Posted March 6, 2021 Не рилииет на мобиле! Модули досивок (СДЭК и Поли России) не перезагружаются...Доступы в личку. Посмотрю в течении пару дней.Отправлено с моего Redmi Note 9 Pro через Tapatalk Link to comment Share on other sites More sharing options...
Starychenko Posted March 12, 2021 Share Posted March 12, 2021 (edited) Всем привет. Стоит модуль Simple регистрация и чекаут. Настроить DaData на роуте checkout/simplecheckout и account/simpleregister удалось. По инструкции все сгделал, рилииют все подсказки, все как следует. Но никак не получается завести DaData в личном кабинете но роуих account/simpleedit и account/simpleaddress/update Для примера на account/simpleaddress/update стоит код из третьего спойлера ниже. Макет для него создал (для всех роутов гделал отгдельный макет). Селекторы я поменял на свои. Во всех роуих они разные, поменял для каждого нужный. Все коды вызова из Simple ниже. Кто что может подсказать ? Что нужно сгделать, чтобы запустить его ? if('checkout_simplecheckout' in window) checkout_simplecheckout(); if('account_simpleaddress/update ' in window) account_simpleaddress/update (); if('account_simpleedit' in window) account_simpleedit(); if('account_simpleregister' in window) account_simpleregister(); Spoiler Spoiler Spoiler // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", geoLocation: false, onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { //console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); return join([ address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]); } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#address_city'); var $address = $('#address_address_1'); var $postcode = $('#address_postcode'); var $zoneId = $('#address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Edited March 12, 2021 by Starychenko Link to comment Share on other sites More sharing options...
Sha Posted March 12, 2021 Author Share Posted March 12, 2021 @Starychenko дайте ссылку на сайт, что-бы мы смогли вам помочь. можно ив личку. 1 Link to comment Share on other sites More sharing options... Starychenko Posted March 12, 2021 Share Posted March 12, 2021 21 minutes ago, Sha said: @Starychenko дайте ссылку на сайт, что-бы мы смогли вам помочь. можно ив личку. Отписался Вам в лс Спасипотому что потому чтольшое Link to comment Share on other sites More sharing options... dantes011 Posted March 18, 2021 Share Posted March 18, 2021 Подскажите с чем связана икая ошибка Link to comment Share on other sites More sharing options... Sha Posted March 18, 2021 Author Share Posted March 18, 2021 33 минуты назад, dantes011 сказал: Подскажите с чем связана икая ошибка Проверьте настройки ftp. или обновите страницу что-бы проверить не прервалась ли сессия. Link to comment Share on other sites More sharing options... 1 month later... Seax Posted April 24, 2021 Share Posted April 24, 2021 Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 7 минут назад, Seax сказал: Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? например, средствами js перевести фокус на следуюещёе поле. Link to comment Share on other sites More sharing options... Seax Posted April 24, 2021 Share Posted April 24, 2021 (edited) Подскажите, какой код и куда всивить? // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = "тут токен" // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", /*geoLocation: false,*/ geoLocation: [{"kladr_id": "50"}, {"kladr_id": "77"}], onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { // console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); /*return join([ address.city_district_with_type, address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]);*/ } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#shipping_address_city'); var $address = $('#shipping_address_address_1'); var $postcode = $('#shipping_address_postcode'); var $zoneId = $('#shipping_address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Спасипотому что! Edited April 24, 2021 by Seax Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Link to comment Share on other sites More sharing options... Seax Posted April 26, 2021 Share Posted April 26, 2021 В 24.04.2021 в 22:42, Sha сказал: Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Да. Спасипотому что за совет! Воспользовался reloadAll() Link to comment Share on other sites More sharing options... Prev 6 7 8 9 10 11 12 13 14 Next Page 11 of 14 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 20 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Покупки, оформление заказа, корзина Модуль Модуль подсказок Dadata, автозаполнение полей Ф.И.О, Адреса, данные по ИНН [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue
Starychenko Posted March 12, 2021 Share Posted March 12, 2021 21 minutes ago, Sha said: @Starychenko дайте ссылку на сайт, что-бы мы смогли вам помочь. можно ив личку. Отписался Вам в лс Спасипотому что потому чтольшое Link to comment Share on other sites More sharing options...
dantes011 Posted March 18, 2021 Share Posted March 18, 2021 Подскажите с чем связана икая ошибка Link to comment Share on other sites More sharing options...
Sha Posted March 18, 2021 Author Share Posted March 18, 2021 33 минуты назад, dantes011 сказал: Подскажите с чем связана икая ошибка Проверьте настройки ftp. или обновите страницу что-бы проверить не прервалась ли сессия. Link to comment Share on other sites More sharing options... 1 month later... Seax Posted April 24, 2021 Share Posted April 24, 2021 Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 7 минут назад, Seax сказал: Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? например, средствами js перевести фокус на следуюещёе поле. Link to comment Share on other sites More sharing options... Seax Posted April 24, 2021 Share Posted April 24, 2021 (edited) Подскажите, какой код и куда всивить? // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = "тут токен" // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", /*geoLocation: false,*/ geoLocation: [{"kladr_id": "50"}, {"kladr_id": "77"}], onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { // console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); /*return join([ address.city_district_with_type, address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]);*/ } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#shipping_address_city'); var $address = $('#shipping_address_address_1'); var $postcode = $('#shipping_address_postcode'); var $zoneId = $('#shipping_address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Спасипотому что! Edited April 24, 2021 by Seax Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Link to comment Share on other sites More sharing options... Seax Posted April 26, 2021 Share Posted April 26, 2021 В 24.04.2021 в 22:42, Sha сказал: Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Да. Спасипотому что за совет! Воспользовался reloadAll() Link to comment Share on other sites More sharing options... Prev 6 7 8 9 10 11 12 13 14 Next Page 11 of 14 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 20 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Покупки, оформление заказа, корзина Модуль Модуль подсказок Dadata, автозаполнение полей Ф.И.О, Адреса, данные по ИНН [Подгдержка]
Seax Posted April 24, 2021 Share Posted April 24, 2021 Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? Link to comment Share on other sites More sharing options...
Sha Posted April 24, 2021 Author Share Posted April 24, 2021 7 минут назад, Seax сказал: Как сгделать ик, чтобы при выпотому чторе подсказки фокус не осивался внутри ввода информации? например, средствами js перевести фокус на следуюещёе поле. Link to comment Share on other sites More sharing options... Seax Posted April 24, 2021 Share Posted April 24, 2021 (edited) Подскажите, какой код и куда всивить? // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = "тут токен" // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", /*geoLocation: false,*/ geoLocation: [{"kladr_id": "50"}, {"kladr_id": "77"}], onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { // console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); /*return join([ address.city_district_with_type, address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]);*/ } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#shipping_address_city'); var $address = $('#shipping_address_address_1'); var $postcode = $('#shipping_address_postcode'); var $zoneId = $('#shipping_address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Спасипотому что! Edited April 24, 2021 by Seax Link to comment Share on other sites More sharing options... Sha Posted April 24, 2021 Author Share Posted April 24, 2021 Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Link to comment Share on other sites More sharing options... Seax Posted April 26, 2021 Share Posted April 26, 2021 В 24.04.2021 в 22:42, Sha сказал: Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Да. Спасипотому что за совет! Воспользовался reloadAll() Link to comment Share on other sites More sharing options... Prev 6 7 8 9 10 11 12 13 14 Next Page 11 of 14 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 20 Go to topic listing Recently Browsing 0 members No registered users viewing this page.
Seax Posted April 24, 2021 Share Posted April 24, 2021 (edited) Подскажите, какой код и куда всивить? // Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup var token = "тут токен" // Для блока адресс function checkAddress($city, $address, $postcode, $region) { // Если инпут города нету выходим if (!$city.length) return; var type = 'ADDRESS'; $city.suggestions({ token: token, type: type, bounds: "city-settlement", /*geoLocation: false,*/ geoLocation: [{"kladr_id": "50"}, {"kladr_id": "77"}], onSelect: enforceCity, onSelectNothing: enforceCity, formatSelected: formatCitySelected }); $address.suggestions({ token: token, type: type, onSelect: restrictAddressValue, formatSelected: formatSelected }); // Если на поле адрес есть перезагрузка поля var p = $postcode.val() || ""; var a = $address.val() || ""; $city.on("suggestions-fixdata", function(e, suggestion) { // console.log(suggestion); $address.val(a); $postcode.val(p) } ); $city.suggestions().fixData(); function setConstraints(sgt, kladr_id) { var restrict_value = false; var locations = null; if (kladr_id) { locations = { kladr_id: kladr_id }; restrict_value = true; } sgt.setOptions({ constraints: { locations: locations }, restrict_value: restrict_value }); } function enforceCity(suggestion) { var sgt = $address.suggestions(); sgt.clear(); if (suggestion) { setConstraints(sgt, suggestion.data.kladr_id); formatRegion(suggestion.data); } else { setConstraints(sgt, null); } } function formatCitySelected(suggestion) { var address = suggestion.data; if (address.city_with_type === address.region_with_type) { return address.settlement || address.city || ""; } else { return join([ address.city, address.settlement ]); } } function formatRegion(address) { $postcode.val(address.postal_code || ''); if ($region.length) { var result = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase(); $region.find('option').each(function (i, o) { if ($(o).text().toLowerCase().search(result) >= 0) $(this).attr('selected', true); else $(this).attr('selected', false); }); } } function restrictAddressValue(suggestion) { var citySgt = $city.suggestions(); var addressSgt = $address.suggestions(); if (!citySgt.currentValue) { citySgt.setSuggestion(suggestion); var city_kladr_id = suggestion.data.kladr_id.substr(0, 13); setConstraints(addressSgt, city_kladr_id); } } function formatSelected(suggestion) { var addressValue = makeAddressString(suggestion.data); return addressValue; } function makeAddressString(address) { formatRegion(address); /*return join([ address.city_district_with_type, address.street_with_type, join([address.house_type, address.house, address.block_type, address.block ], " "), join([address.flat_type, address.flat], " ") ]);*/ } function join(arr /*, separator */ ) { var separator = arguments.length > 1 ? arguments[1] : ", "; return arr.filter(function (n) { return n }).join(separator); } } // Для блока адресс берем в переменные нужные инпуты var $city = $('#shipping_address_city'); var $address = $('#shipping_address_address_1'); var $postcode = $('#shipping_address_postcode'); var $zoneId = $('#shipping_address_zone_id'); // Для блока адресс вызов checkAddress($city, $address, $postcode, $zoneId); Спасипотому что! Edited April 24, 2021 by Seax Link to comment Share on other sites More sharing options...
Sha Posted April 24, 2021 Author Share Posted April 24, 2021 Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Link to comment Share on other sites More sharing options... Seax Posted April 26, 2021 Share Posted April 26, 2021 В 24.04.2021 в 22:42, Sha сказал: Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Да. Спасипотому что за совет! Воспользовался reloadAll() Link to comment Share on other sites More sharing options... Prev 6 7 8 9 10 11 12 13 14 Next Page 11 of 14 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 20
Seax Posted April 26, 2021 Share Posted April 26, 2021 В 24.04.2021 в 22:42, Sha сказал: Згдесь в зависимости от потребности зачем вам снимать фокус можно, например, по событию suggestion onSelectNothing: выполнить элемент.blur(); можно, как писал выше опрегделить следующий input и перевести на него фокус input.focus(); если Вы это сгделать хотите для того, что-бы обновилась simple то лучше воспользоваться одним из событий/колбеков https://confluence.hflabs.ru/pages/viewpage.action?pageId=207454320 или что-бы принудительно обновить simple у него есть метод reloadAll() Да. Спасипотому что за совет! Воспользовался reloadAll() Link to comment Share on other sites More sharing options...
Recommended Posts