【问题标题】:Dropzone js not passing file in Fallback ModeDropzone js没有在后备模式下传递文件
【发布时间】:2015-04-27 23:27:40
【问题描述】:

Dropzone 完美适用于除了在 fallback 模式 (IE9) 期间传递文件之外的所有内容。 Drops在正常模式下完美运行,所有隐藏输入完美通过post,所有隐藏post值在回退模式下工作。

唯一的问题是当 IE9 强制回退模式时 $_FILES 为空。除了 dropzone.js 文件之外,我的页面上没有任何 javascript,据我所知,这个过程是自动的,根据我所阅读的所有内容,它应该是......对吗?

这是 HTML 端的代码——为了清晰起见,清理了一些 PHP 元素:

<form action="process/process_file_upload.php" method="post" class="dropzone">

<div class="fallback"> 
    <input name="file" type="file" multiple />
    <input type="submit" value="Submit" style="margin-left:8px;">
    <input type="hidden" name="calling_dept" value="home.php">    
</div>      

<input type="hidden" name="dept_id" value=5>

</form>

【问题讨论】:

  • 检查 DropZone.isBrowserSupported();
  • @TechGuy - js 函数正确地将 IE9 识别为 isBrowserSupported() 的错误 - DZ 删除放置区域并正确替换为旧式文件浏览器和提交按钮。根据 DZ 的说明,不支持 IE9,但表示它应该自动回退到旧式浏览器(确实如此)并通过 $_POST 发送文件。它没有。我想知道是否需要添加一些 js - 我找不到此文档,也无法在代码中看到它(尽管我可能没有足够好的技能来解释 js)

标签: javascript php html dropzone.js


【解决方案1】:

好吧,我有点尴尬。经过几天试图找出我在 dropzone.js 文件中遗漏的内容......并扫描了曾经写入的每个 DZ 错误,它归结为一些非常愚蠢的事情。

我按照说明设置表格,好像表格将由DZ.js处理。但是,在寻找代码错误时,我忘记了 BASIC HTML!

这是我原来的(DZ 工作)表格:

<form action="process/process_file_upload.php" method="post" class="dropzone">

忘了那个小金块:enctype="multipart/form-data" DOH。这里重要的一点是,如果期望回退,表单的格式必须是完整的——当 DZ.js 接管时,它不需要是,因此文档(正确)永远不会显示完整的 html,并且很容易错过。

无论如何都要向世界展示我的白痴,以防其他人有类似的傻瓜时刻。

【讨论】:

  • 不确定这可以被认为是“白痴”!不是一个简单的问题。
猜你喜欢
  • 2019-07-28
  • 2020-09-04
  • 1970-01-01
  • 2018-08-22
  • 1970-01-01
  • 1970-01-01
  • 2020-09-09
  • 2014-02-09
相关资源
最近更新 更多