我想上傳使用異步提交表單的圖像,這是我的Rails HTML:jQuery的Rails中異步表單提交
<%= form_for(:image, :url => {:controller=> 'questions',:action => 'upload_Qimage'}, :html => {:id=>'qimage_upload'}) do |f| %>
<%= f.file_field :image, :onchange => " return uploadImage() ; " %>
<%= f.hidden_field :id , :value => Digest::MD5.hexdigest((current_user.id + Time.now.to_i).to_s)[0,7] %>
<% end %>
這是我的js函數uploadImage():
function uploadImage()
{
$('#qimage_upload').submit() ;
$('#qimage_upload').submit(function() {
return false ;
}
忽略提交函數中的ajax代碼,即使在註釋掉後我也無法獲得第二個提醒。我一整天都在研究這個問題,並且無法弄清楚它有什麼問題。
UPDATE:請注意上面代碼中的更新,使用簡單的submit()而沒有回調工作,但它不能滿足我的目的,因爲它試圖呈現操作的視圖。這是一個jQuery版本問題?
二更新
這是我的控制器操作是這樣的:
def upload_Qimage
@image = Image.new(params[:image])
@image.save
end
無論什麼我嘗試用jQuery和HTML,它仍然會嘗試渲染視圖。該文件被保存與當前版本的JS,但它仍然試圖渲染視圖時,我想它什麼也不做,而只是返回一些數據(而不是局部的渲染,只是數據)
你嘗試過:在標籤的form_for遠程=>真的嗎? – Deepika 2013-05-07 11:33:42
是的,什麼都不做。我的問題是在提交功能提醒。它應該觸發,而不管在那裏還有什麼。 – Superq 2013-05-07 11:38:10
提交事件將在您提交表單時被調用。但在你的表格中沒有提交。 – Deepika 2013-05-07 11:46:38