我已经在我的Rails应用程序中设置了一个JS函数来获取用户的当前位置。我希望单击一下按钮即可将返回的坐标放入Rails简单表单中的一个字段中。我尝试使用innerHTML
和value
来更改元素,但这不适用于简单形式的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 %>