所以,我正在使用带有回形针宝石的:remote => true
表单来上传照片。当我提交表单时,我只想刷新div的内容(现在将包含上传的照片)。
我想用javascript做,但没有afterSubmit处理程序或任何东西。我无法弄清楚如何使用javascript响应表单提交。我试着做
def add_photo
SomeModel.method_that_processes_and_saves(params)
respond_to do |format|
format.js
end
end
并将脚本放在add_photo.js.erb
中。但是,脚本永远不会被发送(浏览器要求输入html?)我怎样才能解决这个问题?现在整整一天让我感到沮丧。
答案 0 :(得分:0)
没有“afterSubmit”的概念,因为页面已被表单提交替换。解决此问题的最简单方法是在后续页面上处理照片上传。 Ruby应该给你路径。 另一种方法是使用众多上传库中的一个来异步上传并为您提供“完整”回调。 http://www.uploadify.com/是一个受欢迎的选择。
答案 1 :(得分:0)
def add_photo
SomeModel.method_that_processes_and_saves(params)
respond_to do |format|
format.js{ render :update do |page|
page << "$('#mydiv').html('bah-blah') "
end
end
或创建add_photo.js.erb
并在那里写下您想要的任何JavaScript。
如果您通过AJAX(js请求)提交表单,那将会有效,这意味着您应该添加:remote => true
选项