grails g:uploadForm如何通过GSP检测上传完成情况

时间:2014-06-15 22:53:50

标签: grails

使用g:uploadForm时,无论如何都检测到javascript已经完成文件上传?我想将此作为一个事件来显示一个模态对话框,显示有关上传文件的信息。

控制器很容易检测到,因为这只是在上传功能完成执行时,但我怎样才能让我的GSP检测到它并因此做出反应。

2 个答案:

答案 0 :(得分:1)

由于您要为表单提交发布/定位iframe,因此接受上传的controller应该很容易向jquery呈现一些iframe通知父窗口上传完成。在此示例中,我将使用自定义jquery事件。

包含GSP:

$(document).on("upload-complete", function(e) {
  console.log("Upload completed.");
});

控制器在iframe中呈现的GSP模板:

parent.$(document).trigger({
  type: 'upload-complete'
});

上述jquery应该可以达到您的目的。

答案 1 :(得分:1)

您可以尝试使用Ajax Uploader plugin

这就是你需要的东西

<uploader:uploader id="yourUploaderId" 
                   url="${[controller:'yourController', action:'yourAction']}" />

有回调相关:

<uploader:onSubmit>
<uploader:onProgress>
<uploader:onComplete>
<uploader:onCancel>