Здравстсвуйте, я использую Ruby on Rails 5.2 и mapbox для геокодирования и пытаюсь перенести latitude и longitude значения из js в hidden_field с помощью
document.getElementById
мой код
<%= form_for(@place, remote: true, html: { role: 'form', multiple: true }) do |f| %>
<%= f.hidden_field :longitude, id: 'lng' %>
<%= f.hidden_field :latitude, id: 'lat' %>
<div id='map' style='height: 300px;'></div>
<script>
mapboxgl.accessToken = 'Access_Token';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11'
});
var lng;
var lat;
var lngDisplay = document.getElementById('lng');
var latDisplay = document.getElementById('lat');
var marker = new mapboxgl.Marker({
'color': '#314ccd'
});
map.on('click', function(e) {
marker.setLngLat(e.lngLat).addTo(map);
lng = e.lngLat.lng;
lat = e.lngLat.lat;
lngDisplay.textContent = lng;
latDisplay.textContent = lat;
});
</script>
<div class="form-group">
<%= f.submit 'Save', data: {disable_with: 'Save...'}, class: 'btn btn-s'%>
</div>
<% end %>
в консоле браузера выдает:
<input id="lng" type="hidden" value="" name="place[longitude]">4.928367069077325
<input id="lat" type="hidden" value="" name="place[latitude]">51.613135708889615
И не сохраняет значения