Как изменить значение поля ввода при использовании гема Rails Simple Form с помощью JS onclick - PullRequest
0 голосов
/ 16 ноября 2018

Я установил функцию 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 %>
...