gpt4 book ai didi

javascript - 如何阻止地址自动填充谷歌地点

转载 作者:行者123 更新时间:2023-11-28 15:35:41 25 4
gpt4 key购买 nike

所以我在我的表单上有一个谷歌地图自动完成功能,当它到达一个位置时,它会占据该位置并格式化它,以便所有正确的信息都进入表单上的不同输入。

我遇到的问题是在“place_changed”事件触发自动完成填充输入之前。我想阻止最初的人口,而是填充我想要在那里的东西。

我尝试执行更改事件,但它似乎无法正确触发。这是我的代码:

html:

<input type="text" name="address1" value="1255 W Washington St" required="" class="form-control" id="id_address1" placeholder="Enter a location" autocomplete="var input = /** @type {HTMLInputElement} */(

js:

document.getElementById('id_address1'));
var autocomplete = new google.maps.places.Autocomplete(input);
google.maps.event.addDomListener(input, 'keydown', function(e) {
if (e.keyCode == 13) {
e.preventDefault();
console.log('enter');
}
});
google.maps.event.addDomListener(input, 'focusout', function(e) {
if ($('#id_address1').val() != $('#id_address1').attr('value')){
$('#id_address1').val($('#id_address1').attr('value'));
}
});off"

google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
if (place.address_components) {
var address = '';

for (var i = 0; i < place.address_components.length; i++){
switch (place.address_components[i].types[0]){
case 'street_number':
address = place.address_components[i].short_name;
break;
case 'route':
address += ' ' + place.address_components[i].short_name;
break;
case "locality":
$('#id_city').val(place.address_components[i].short_name);
break;
case "administrative_area_level_1":
$('#id_state').val(place.address_components[i].short_name);
break;
case "country":
$('#id_country').val(place.address_components[i].short_name);
break;
case "postal_code":
$('#id_zip_code').val(place.address_components[i].long_name);
break;
}
}
$('#id_address1').val(address);
$('#id_address1').attr('value', address);
}

现在,当设置 attr 然后检查焦点时,这是一种解决方法,因为当我仅使用键盘选择一个位置时,它会尝试重新输入原始的完整字符串。

最佳答案

在设置值之前触发模糊事件:

$('#id_address1').trigger('blur').val(address);

关于javascript - 如何阻止地址自动填充谷歌地点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25692666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com