1

ユーザーが写真をアップロードできるフォームを含むモーダルがあります。写真が正しくアップロードされたら、Ajax経由で応答してメッセージを表示したいと思います。

残念ながら、フォームはJSではなくHTMLで送信されます。

何か案が?

フォームコード:

<%= form_for(Object.new() , :url => {:controller => 'objects', :action => 'create'}, :remote=> true, :html => { :multipart => true }) do |f| %>
     <%= f.file_field :photo, label: 'add a photo' %>
     <%= button_tag(type: 'submit', class: "btn btn-success") do %>
            <i class="icon-arrow-up icon-white upload"></i>Upload
     <% end %>
<% end %>

ありがとう

4

2 に答える 2

2

AJAXでファイルをアップロードすることはできません。これが、送信がJSではなくHTMLで行われる理由である可能性があります。

それにもかかわらず、この問題を解決するためのハックがあります。

この助けを願っています

于 2012-11-29T13:08:43.440 に答える
1

残念ながら、javascriptはハードドライブファイルに直接アクセスできないため、railsはajaxを使用してファイルを直接アップロードできません。どうやらiframeを含む回避策があります:この前の質問はあなたを助けるかもしれません:

RAILS-ペーパークリップはAjaxでは機能しません

Railsフォームでのファイルのアップロードについて少し説明します。

http://guides.rubyonrails.org/form_helpers.html#dealing-with-ajax

于 2012-11-29T13:03:51.357 に答える