拖拽使用Dropzone和Seaside放弃

时间:2016-03-22 17:12:58

标签: javascript dropzone.js seaside

我在dropzone实现中为拖放文件做了一点努力。我正在开发一个前端有Seaside的Smalltalk平台。目前,我可以上传文件但无法看到成功图标以及上传时出现的进度条。当我检查网络上的元素时,我确实看到代表成功/进展的div存在。我确实看到文件大小和文件名出现就像文件被丢弃一样。有人可以指出我错过了什么吗?我的代码如下:

| serverURL url | 

serverURL := RepWebSettings portalSettingsWebServerURL ifNil: [self session requestContext request uri serverURL].
url := serverURL , 
        html context actionUrl printString ,
         '&' , (html callbacks store: (Seaside.WAValueCallback on: [self uploadFileDroppedFiles])).

html div class: 'layoutBorder'; with: [
    html div id: 'draganddropupload'; class: 'dropzone'; 
        with: [
            html div class: 'dz-message'; with: [
                html image url: RepWebFileLibrary / #draganddropPng]]].

html script: ('
    $(document).ready(function () {
        Dropzone.autoDiscover = false;
        Dropzone.uploadMultiple = true;
        Dropzone.createImageThumbnails = false; 
        $("#draganddropupload").dropzone({
            url: "%1",
            success: function (file, response) {
                document.location.reload(true);
            }
        });
    });' bindWith: url). 

1 个答案:

答案 0 :(得分:0)

当您使用Chrome的开发者工具运行您的示例时,该工具开启了“控制台”功能。选项卡你看到了什么javascript错误?似乎Dropzone管理进度条和复选标记。

从他们的简单例子看:

https://github.com/enyo/dropzone/blob/gh-pages/examples/simple.html

您获得的内容与他们获得的内容之间的唯一区别在于,他们正在使用'表格'标记为' dropzone'上课,你正在使用' div'标签。

因此,Dropzone可能希望以“#”形式运营。并且没有任何其他形式的输入。因此,如果是我,我将海边代码中的div标签更改为表单,并确保新表单没有嵌套在页面上的另一个表单中。