Autocomplete 谷歌自动完成地址-如何更改输入id
(很抱歉我的英语有限) 我使用GooglePlacesAutoComplete()作为地址表单,需要修改输入id 目前,结果以以下形式显示:Autocomplete 谷歌自动完成地址-如何更改输入id,autocomplete,google-places-api,Autocomplete,Google Places Api,(很抱歉我的英语有限) 我使用GooglePlacesAutoComplete()作为地址表单,需要修改输入id 目前,结果以以下形式显示: <input class="field" id="street_number" disabled="true"></input> <input class="field" id="route" disabled="true"> <input class="field" id="locality" disabled
<input class="field" id="street_number" disabled="true"></input>
<input class="field" id="route" disabled="true">
<input class="field" id="locality" disabled="true">
<input class="field" id="administrative_area_level_1" disabled="true"></input>
<input class="field" id="postal_code" disabled="true">
<input class="field" id="country" disabled="true"></input>
但我需要这样的东西:
<input class="field" id="streetnumb" disabled="true"></input>
<input class="field" id="rue" disabled="true">
<input class="field" id="ville" disabled="true">
<input class="field" id="departement" disabled="true"></input>
<input class="field" id="cp" disabled="true">
<input class="field" id="pays" disabled="true"></input>
你能帮我吗?我也有同样的问题。我刚刚更改了fillInAddress函数,使用输入名称(getElementsByName)而不是ID JS
函数fillInAddress(){
var place=autocomplete.getPlace();
for(componentForm中的var组件){
document.getElementsByName(组件)[0]。值=“”;
document.getElementsByName(组件)[0].disabled=false;
}
对于(变量i=0;i
HTML
这对我很有效。也许这不是最好的解决方案,但正在发挥作用。:)您可以将id更改为任何您想要的,并像这样处理它 JS
函数fillInAddress(){
var place=autocomplete.getPlace();
document.getElementById('user_city')。值='';
document.getElementById('user\u country')。值='';
document.getElementById('country')。值='';
document.getElementById('user_-zip')。值='';
document.getElementById('user\u city')。disabled=false;
document.getElementById('user\u country')。disabled=false;
document.getElementById('country')。disabled=false;
document.getElementById('user_-zip')。disabled=false;
对于(变量i=0;i
HTML
...
创建一个附加对象以将地址类型解析为您的ID:
var componentResolver = {
street_number: 'streetnumb',
route: 'rue',
locality: 'ville',
country: 'country',
...
};
在fillInAddress()函数中,将最后一行代码从
document.getElementById(addressType).value = val;
到
奇怪的是,他们不允许你设置自己的身份证
function fillInAddress() {
var place = autocomplete.getPlace();
document.getElementById('user_city').value = '';
document.getElementById('user_country').value = '';
document.getElementById('country').value = '';
document.getElementById('user_zip').value = '';
document.getElementById('user_city').disabled = false;
document.getElementById('user_country').disabled = false;
document.getElementById('country').disabled = false;
document.getElementById('user_zip').disabled = false;
for (var i = 0; i < place.address_components.length; i++) {
var addressType = place.address_components[i].types[0];
if (componentForm[addressType]) {
var val = place.address_components[i][componentForm[addressType]];
var field = addressType;
if(field=="country") {
document.getElementById('country').value = val;
document.getElementById("user_country").value = place.address_components[i].short_name;
}
if(field=="locality") {
document.getElementById('user_city').value = val;
}
if(field=="postal_code") {
document.getElementById('user_zip').value = val;
}
if(field=="street_number") {
var streetnum = document.getElementById('user_street').value = val;
}
// Join street number with street to one input
if(field=="route") {
if(streetnum) {
completeadress = streetnum + ' ' + val;
}
else {
completeadress = val;
}
document.getElementById('user_street').value = completeadress;
}
}
}
}
<input class="field" name="user[city]" id="user_city" disabled="true"></input>
...
var componentResolver = {
street_number: 'streetnumb',
route: 'rue',
locality: 'ville',
country: 'country',
...
};
document.getElementById(addressType).value = val;
document.getElementById(componentResolver[addressType]).value = val;