gpt4 book ai didi

javascript - 提交前将 Lat Lng 值设置到隐藏字段中

转载 作者:行者123 更新时间:2023-11-28 19:59:54 24 4
gpt4 key购买 nike

我正在使用 Google Maps Api(包括自动完成)让用户将地址写入表单字段,然后查找所输入地址的纬度和经度值。

现在,我想将这些值发送回表单(隐藏字段)以提交到数据库。后端已全部设置完毕,我只是不确定如何在客户端上进行操作。我很感谢您的帮助!

我的代码 ruby :

<div id="form>
<%= f.text_field :location, onFocus: "geolocate", id: "autocomplete" %>
<%= hidden_field_tag :latitude, id: "lat" %>
<%= hidden_field_tag :longitude, id: "lng" %>
<%= f.button :submit, class: "btn" %>
</div>

Javascript:

function codeAddress() {
var address = document.getElementById("autocomplete").value;
// next line creates asynchronous request
geocoder.geocode( { 'autocomplete': address}, function(results, status) {
// and this is function which processes response
if (status == google.maps.GeocoderStatus.OK) {
$("#lat").val(results[0].geometry.location.lat());
$("#lng").val(results[1].geometry.location.lng());
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}

var placeSearch, autocomplete;

function initialize() {
autocomplete = new google.maps.places.Autocomplete(
(document.getElementById('autocomplete')),
{ types: ['geocode'] });
}

function fillInAddress() {
var place = autocomplete.getPlace();

for (var component in componentForm) {
document.getElementById(component).value = '';
document.getElementById(component).disabled = false;
}
}

function geolocate() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var geolocation = new google.maps.LatLng(
position.coords.latitude, position.coords.longitude);
autocomplete.setBounds(new google.maps.LatLngBounds(geolocation,
geolocation));
});
}
}

最佳答案

如果您想使用 $("#form").submit(); docs 执行成功的地理位置操作,则可以设置回调以提交表单。 .

if (status == google.maps.GeocoderStatus.OK) {
$("#lat").val(results[0].geometry.location.lat());
$("#lng").val(results[1].geometry.location.lng());
$("#form").submit();
}

关于javascript - 提交前将 Lat Lng 值设置到隐藏字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21848463/

24 4 0
文章推荐: Android Instrumented 测试在全部一起运行时失败
文章推荐: web - 如何关闭testcafe runner
文章推荐: python - 将 args 转换为平面列表?
文章推荐: javascript - contenteditable
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com