是否可以在正常的非ajax提交中使jQuery可排序序列化项目可用?

Eve*_*ner 3 ajax jquery jquery-ui ruby-on-rails jquery-ui-sortable

目前我使用ajax提交我的可排序项目,但我想做一个非ajax提交.那可能吗?

目前的ajax帖子:

$("#create_items_form").submit(function() {
    $.ajax({
      type: "POST",
      url: $(this).attr("action"),
      dataType: "script",
      data:  $("#destination_items").sortable('serialize')
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<%= form_for(@items, :url => create_items_path, :html => {:id => "create_items_form"}) do |f| %>
    <ul id="destination_items"></ul>
<%= f.submit "Save", :id => "create_items_button" %>
Run Code Online (Sandbox Code Playgroud)

因此我在控制器中使用了一个很好的数组:

Params: "items"=>["8", "10"]
Run Code Online (Sandbox Code Playgroud)

是否可以通过正常提交提供此信息?

谢谢!

Fox*_*x32 6

您可以使用提交的序列化数据填充隐藏的输入.在此,您不需要在事件处理程序中返回false,因为您不想停止提交事件.

添加到您的表单:

<input id="someid" name="yourfieldname" type="hidden">
Run Code Online (Sandbox Code Playgroud)

绑定提交事件:

$("#create_items_form").on('submit', function() {
    $('someid').val($("#destination_items").sortable('serialize'));
}); 
Run Code Online (Sandbox Code Playgroud)