在Rails中使用JQuery保存数组

在Rails中使用JQuery保存数组,jquery,ruby-on-rails,Jquery,Ruby On Rails,我试图使用Rails保存客户端在JQuery中输入的两个值。我是JQuery的新手,我找不到一种方法来实现它 我的index.html.erb如下所示: <div > <p class="mod1_title">Plot</p> <div class="mod1_boxed"> <strong>Data1:</strong> <%= form_tag do %>

我试图使用Rails保存客户端在JQuery中输入的两个值。我是JQuery的新手,我找不到一种方法来实现它

我的index.html.erb如下所示:

<div >
    <p class="mod1_title">Plot</p>
    <div class="mod1_boxed">
      <strong>Data1:</strong>
      <%= form_tag do %>
          <%= text_field_tag "user_entry_module1", nil, placeholder: "Bsp. 3500", id: "user_entry" %></br>
      <strong>Data2:</strong></br>
      <%= text_field_tag "user_entry_module2", nil, placeholder: "Bsp. 5", id: "user_entry_2" %></br>
          <%= submit_tag "submit" %>
      <%end%>
    </div>  
</div>


<div id="container" style="height: 400px; min-width: 600px"></div>

<script >

    $(function () {
         // Display the month, day, and year. 
          var dt = new Date();
          var month = dt.getMonth()+1;
          var day = dt.getDate();
          var year = dt.getFullYear();

        var seriesOptions = [];
        //Calling each action
        var calls = ['get_data_con','get_data_pro'];
        var names = ['fig1','fig2'];

        $("#user_entry, #user_entry_2").change(function(){
          var number_value = [$(this).val()];
          alert(number_value);

        });//alert

   });

</script>
它保存变量,但在引入每个数据后立即显示警报。我只想同时保存
data1
data2
,然后警报才会显示数组
[data1,data2]
您的事件是
$('SOMETHING')。更改(函数{})
。每次有人(或某些脚本)更改输入值时,都会调用更改事件。此外,您的数据看起来是通过表单(
)提交的,而不是通过Jquery提交的

有一种方法可以做到这一点:

如果希望使用Javascript而不是html(由rails生成)表单保存数据,则应使用
$.post()
(此处的文档:)。完成后,您可以处理响应并提醒您的值。像这样的方法应该会奏效:

$.post( "/path/to/controller/create", function( data ) {
  alert( "Data Loaded: " + data );
});
但是使用$.post()我从服务器请求数据。我只想保存data1和data2,然后将这两个条目从我的javascript发送到控制器(doso计算),最后(result from controller back to view)在javascript代码中绘制一些图。我不明白$.post()的意思。post用于向控制器发送数据。-首先:使用
$.post()
ajax请求发送数据第二:您的控制器接收这些数据并保存它们(+如果需要计算)。-第三:控制器用计算出的值进行响应,这些值将被
$.post()函数的
success
回调捕获
$.post( "/path/to/controller/create", function( data ) {
  alert( "Data Loaded: " + data );
});