Ну, во-первых, давайте удостоверимся, что эти входы идентичны, кроме их идентификаторов.
Вот небольшой пример из моего старого проекта:
form style="width:300px;margin: 0 auto;" action="/instructions" method="POST"
strong
p.input-label I'm currently at...
input style="width:300px;" id="autocomplete" placeholder="Enter your current address" onFocus="geolocate()" type="text" name="current_address" required="required"
strong
p.input-label And I need to get to...
input style="width:300px;" id="autocomplete2" placeholder="Enter your destination address" onFocus="geolocate()" type="text" name="destination_address" required="required"
input.button style="width:300px;" type="submit" value="What's the plan?"
Ваши входные данные, которыми вы поделились, имеют разные поля, некоторые из которых отсутствуют в других и т. Д. Первым шагом следует сделать их идентичными во всех возможных случаях, а затем постепенно переводить одно из них в желаемое состояние.
Я вижу, что вы тоже используете старую версию javascript. Если возможно, вы можете рассмотреть возможность рефакторинга в es5 +
В верхней части вы объявляете placeSearch
и autocomplete
, но не autocomplete2
. Это еще один пример того, что я предлагал ранее, о прохождении вашего кода и обеспечении того, чтобы оба ввода обрабатывались / создавались одинаково.
Я вижу, initAutocomplete
объявлен, но никогда не запускается. Это намеренно? Модуль google автоматически вызывает эту функцию?
Мне кажется, что addlatlong()
и fillInAddress()
- это две функции, которые вы намереваетесь использовать, одна для autocomplete
, а другая для autocomplete2
, но вы ссылаетесь на autocomplete
в обеих из них.
В общем, я думаю, что вы так много работали с кодом, чтобы попытаться заставить его работать, что вы потеряли из виду, как он должен быть написан в конце.
Возможно, лучший способ выяснить, как решить эту проблему, - это начать новый файл, обновлять его и делать по одному маленькому шагу за раз.
Получите один ввод, работающий полностью, как и ожидалось, а затем добавьте следующий шаг за шагом, так же, как вы реализовали первый.
Удачи!