使用javascript数据填充rails参数

Using javascript data to populate rails params

本文关键字:rails 参数 填充 数据 javascript 使用      更新时间:2023-09-26

以下表单旨在使用HTML5地理位置数据提交数据。

javascript

function geoOk(position)
{
  default_latitude = position.coords.latitude;
  default_longitude = position.coords.longitude;
  $('#my_latitude').html(default_latitude);
  $('#my_longitude').html(default_longitude);

正确生成可以在视图中显示的数据:

<span id="my_latitude"></span> => <span id="my_longitude"></span>

现在表单应该基于这些JS生成的变量生成params。隐藏值是不可能的,因为ERB是在jaswascript生成任何数据之前在服务器端生成的。

<%= form_tag(:find_by_my_locations, method: :post) do %>
  <%= check_box_tag :location_ok, params[:location_ok] %><%= t('my_location_confirm') %><br />
  <%= submit_tag %>
<% end %>

应该如何为下一个控制器操作生成参数?

jQuery已在此应用程序上启用。

编辑

document.querySelector('#form_latitude').value = position.coords.latitude;
document.querySelector('#form_longitude').value = position.coords.longitude;

并形成

  <%= hidden_field_tag "form_longitude" %> 
  <%= hidden_field_tag "form_latitude" %> 

在不需要文档就绪的JS块的情况下工作

文档加载后,您可以创建另一个函数吗?该函数可以通过jquery检索所需的值,并将它们添加到隐藏字段中。

  $(document).ready(function(){
    var longitude = $("#longitude").text();
    $("#hidden_field").val(longitude);
  });