Javascript 如何使js成为通过ajax提交的rails表单的格式?

Javascript 如何使js成为通过ajax提交的rails表单的格式?,javascript,jquery,ruby-on-rails,forms,Javascript,Jquery,Ruby On Rails,Forms,我有以下表格: <div id='relationship_<%= relationship.id %>'> <% @value_id = "value_#{relationship.id}" %> <% @div_slider_id = "slider_value_#{relationship.id}" %> <% @form = "edit_relationship_#{relationship.id}"%> <

我有以下表格:

<div id='relationship_<%= relationship.id %>'>
  <% @value_id = "value_#{relationship.id}" %>
  <% @div_slider_id = "slider_value_#{relationship.id}" %>
  <% @form = "edit_relationship_#{relationship.id}"%>
  <%= form_for(relationship, :remote => true) do |f| %>
    <div id="<%= @div_slider_id %>"></div>
    <%= f.hidden_field :value, :id => "#{@value_id}" %>
  <% end %>
</div>

<script type='text/javascript'>
$(document).ready( function() {
  $(function() {
    $( "#<%= @div_slider_id %>" ).slider({
      orientation: "horizontal",
      range: "min",
      value: <%= relationship.value || 1 %>,
      min: 0,
      max: 100,
      change: function( event, ui ) {
        $( "#<%= @value_id %>" ).val( ui.value );

正确)do | f |%>
“#{@value_id}”%>
$(文档).ready(函数(){
$(函数(){
$(“#”)滑块({
方向:“水平”,
射程:“分钟”,
值:,
分:0,,
最高:100,
更改:功能(事件、用户界面){
$(“#”)val(ui.value);
如果用户移动滑块,表单将作为HTML而不是JS发送

        $("#<%= @form %>").submit();
      }
    });
    $( "#<%= @value_id %>" ).val( $( "#<%= @div_slider_id %>" ).slider( "value" ) );
  });
});
</script>
$(“#”)提交();
}
});
$(“#”)val($(“#”)滑块(“值”);
});
});
当我移动滑块时,如何以JS格式发送该表单


谢谢

将ID添加到表单提交:

<%= f.submit 'Ready', :id => "button_submit" %>
或:尝试向表单声明中添加数据类型:

<%= form_for(relationship, :remote => true, :html => { "data-type" => :js } ) do |f| %>
true,:html=>{“数据类型”=>:js})do | f |%>
  • 将关系表单id设置为表单
  • 二,。 更改代码中的此行:

    $("#<%= @form %>").submit();
    

    我不明白。你不能发送JS格式,但你可以发送JS格式。我为clarityHi编辑了我的问题,我也有同样的问题,我发布了两个关于这个问题的问题。它将以html格式发送。我解决了这个问题,并在同一篇文章中写下了解决方案。看看这是否能帮你找到答案,不过我真的想去掉这个按钮。我将编辑问题以使自己更清楚。编辑我的答案,尝试数据类型方法。我最终使用了您的
    $(“#buttom_submit”)。单击()方法,并对按钮应用
    显示:无
    css属性。谢谢
    <%= form_for(relationship, :remote => true, :html => { "data-type" => :js } ) do |f| %>
    
    $("#<%= @form %>").submit();
    
    $js.post("/relationship.js", $js("#relationship_form").serialize());