#javascript #dom #autocomplete #algolia
#javascript #dom #автозаполнение #algolia
Вопрос:
У меня есть скрипт, прикрепленный к полю ввода. Это служба автозаполнения адресов, размещенная в Algolia). У меня работает скрипт: предложения начинают отображаться при вводе, и как только предложение выбрано, оно отображается так, как будто оно заполнило поле. однако при отправке формы в ней отображаются только буквы, которые были введены вручную, а не выбранное предложение. В любом случае, чтобы исправить это?
(function() {
var placesAutocomplete = places({
appId: 'APPID',
apiKey: 'APIKEY',
container: document.querySelector('input[name="address-line1"]'),
templates: {
value: function(suggestion) {
return suggestion.name;
}
}
}).configure({
type: 'address'
});
placesAutocomplete.on('change', function resultSelected(e) {
document.querySelector('#ec-city-list').value = e.suggestion.city || '';
});
})();
<script src="https://cdn.jsdelivr.net/npm/places.js@1.19.0"></script>
Комментарии:
1. Извините, @mplungjanbut к сожалению, я новичок, и я не знаю, как сделать это на минимально воспроизводимом примере. Однако для устранения вашей ошибки вам необходимо изменить контейнер на поле ввода, в которое вы хотите добавить скрипт. ссылка здесь — это документ, в котором объясняется сценарий.
2. Я вижу, что нужен ключ, так что неважно
3. Отправляете ли вы документ. querySelector(‘#ec-city-list’).значение?
4. Таким образом, скрипт предлагает предложения по адресам, которые вводятся при вводе [name=»address-line1″], как только предложение выбрано, оно заполняет это поле ввода названием улицы и (#’ec-city-list’) атрибутом города предложения. Это Google Maps, как сервис.