我正在构建一个表单,其中我需要的其中一个字段是Google地图位置自动完成搜索框。现在,这些搜索框是动态添加的,它们可能位于具有不同ID的不同页面上。
现在,看一下之前问题的例子,这就是我的所作所为:
HTML:
<input id="{{some generated ID}}" class="mapTypeField" type="text" size="50">
的JavaScript
mapFields = document.getElementsByClassName('mapTypeField');
for (var i=0; i<mapFields.length; i++) {
function initialize() {
var input = mapFields[i];
var autocomplete = new google.maps.places.Autocomplete(input);
}
google.maps.event.addDomListener(window, 'load', initialize);
}
并出现以下错误:
InvalidValueError:不是HTMLInputElement的实例
_。ab @ js?v = 3.exp&amp; sensor = false&amp; libraries = places:32
我对JS不是很好,我可能犯了什么错误?另外,还有另一种方法可以做我想做的事吗?
答案 0 :(得分:1)
这应该有效:
改变这个:
var autocomplete = new google.maps.places.Autocomplete(input);
为:
var autocomplete = new google.maps.places.Autocomplete(input[i]);
这是一个有效的JSFiddle https://jsfiddle.net/rdawkins/69Luo215/2/