0

これが私が取り組んでいるコードの一部です。

<td class= "block" id=<%= dom_id(Block.find(block.id)) %> colspan=2>
   <%= form_for block do |f| %>
     <%= f.text_area :content, :size => "5x4"  %>
     <%= f.hidden_field :id_case %>
     <%= f.hidden_field :canvas_id %>
     <%= f.submit "Submit", class: "save" %>
   <% end %>
</td>

このフォームの下に、まだ「td」に別のフォームを追加したいと思います。そして、(ドロップ可能な)特別な要素をドラッグするときに、これを送信したいと思います

フォームが data-remote 属性を持つことができることはわかりましたが、それをどのように使用する必要があるかはよくわかりませんでした。この属性は、フォームを送信した後に JavaScript を実行するために作成されたものですか、それとも特別な要素の後にフォームを送信するヘルパーですか?

これが2番目のケースである場合、それは私の考えに非常に合っていますが、使用方法が本当にわかりませんでした.

ご協力いただきありがとうございます

4

1 に答える 1

0

ここで何を知りたいのか正確にはわかりませんがdata-remote="true"、「通常の」送信ではなく、フォームが Ajax によって送信されることを意味します。次のようにフォームに追加できremote: trueます。

<%= form_for(@post, remote: true) do |f| %>
  ...
<% end %>

結果のフォームにはdata-remote="true".

要素をドロップした後に Ajax でフォームを送信するには、jQuery を使用して次の操作を実行できます。

$("#your-droppable-element").droppable({
  drop: function( event, ui ) {
    $('#your-form').submit();
  }
});  

お役に立てば幸いです:)

于 2013-08-29T11:52:09.983 に答える