使用Rails Simple Form gem和JS onclick

时间:2018-11-15 23:54:14

标签: javascript ruby-on-rails ruby geolocation simple-form

我已经在我的Rails应用程序中设置了一个JS函数来获取用户的当前位置。我希望单击一下按钮即可将返回的坐标放入Rails简单表单中的一个字段中。我尝试使用innerHTMLvalue来更改元素,但这不适用于简单形式的gem。有什么想法可以使他工作吗?

这是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 %>

0 个答案:

没有答案