当我将其作为<tiles:insertattribute name =“...”> </tiles:insertattribute>时,Dropzone不会初始化

时间:2013-12-20 16:25:26

标签: javascript jsp tiles dropzone.js

我将template.jsp作为主文件,其中包含了<tiles:insertAttribute name="uploadContainer" />等各种图块。

如果我将Dropzone(使用dropzonejs.com库)放入立即加载的.jsp中,它确实有用。没问题。

现在我想把这个Dropzone放在一个稍后加载的tile中,点击 - 并且Dropzone不再起作用,它甚至都没有被激活。

我想知道它是否是dropzone.js的问题,它在dropzone-Form甚至存在之前包含在template.jsp中,但问题仍然是相同的,如果我在tile中包含dropzone.js。

这必须是一个简单的错误,但我根本就没有看到它。 ._。

template.jsp:

<script type="text/javascript" src="<c:url value="/js/dropzone.js"/>"></script>

<div id="uploadBox">
  <div id="uploadContainer">
    <tiles:insertAttribute name="uploadContainer" />
  </div>
</div>

pages.xml中

<tiles-definitions>
    <definition name="welcome" template="/WEB-INF/jsp/template.jsp">
        <put-attribute name="uploadContainer" value="/fileUpload" />
    </definition>
</tiles-definitions>

fileUpload.jsp

<div id="uploadContainer">
    <div class="innerContentBoxItem">

        <form:form method="POST" action="uploadFile" class="dropzone"
            id="my-awesome-dropzone" commandName="fileUploadForm"
            enctype="multipart/form-data">
            <input type="hidden" name="label" value="test" />
        </form:form>
    </div>
</div>

<script type="text/javascript">
    Dropzone.options.myAwesomeDropzone = {
        //...
    };
</script>

上面你看到了工作版。我现在的主要区别是,我想这样做:

pages.xml中

<tiles-definitions>
    <definition name="welcome" template="/WEB-INF/jsp/template.jsp">
        <put-attribute name="uploadContainer" value="" />
    </definition>
</tiles-definitions>

并通过单击元素加载新内容(包括Dropzone)。 结果是:加载了新内容,但Dropzone保持不活动状态。

有什么想法吗?

0 个答案:

没有答案