Я установил функцию JS в своем приложении Rails, которая выбирает текущее местоположение пользователя. Я хочу, чтобы возвращаемые координаты вошли в поле в моей простой форме Rails одним нажатием кнопки. Я пытался использовать innerHTML
и value
для изменения элемента, но это не работает с простым гемом формы. Есть идеи, как сделать свою работу?
Вот код JS:
var x = document.getElementById("coordinates");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.value = position.coords.latitude +
", " + position.coords.longitude;
}
И мой простой вид формы:
<button onclick="getLocation()">Current location</button>
<input id="coordinates"></input>
<%= simple_form_for @order do |f| %>
<%= f.input :start_point, input_html: { id: 'coordinates' } %>
<%= f.input :restaurant_location %>
<%= f.input :customer_location %>
<%= f.input :fee %>
<%= f.button :submit %>
<% end %>