【问题标题】:Dropzone.js inside another PHP form另一个 PHP 表单中的 Dropzone.js
【发布时间】:2015-06-12 17:25:35
【问题描述】:

尽管有一些文档,但很少有关于如何使用它的真实示例。

例如:我想在我现有的表单中包含 Dropzone,用于添加带有标题、描述和照片的产品。

Dropzone 本身就是一种形式。最好使用 Dropzone 来预览和验证图像类型和大小,但让主表单提交所有数据。我该怎么做?

这就是想法(但是,我不应该在表单中包含表单):

<form action="products/add.php" method="POST" class="form-horizontal" role="form">
    <div class="form-group">
      <legend>Add product</legend>
    </div>

    <label for="title">Title</label>
    <input type="text" name="title" id="input-title" class="form-control">

    <label for="description">Description</label>
    <input type="text" name="description" id="input-description" class="form-control">

    <form action="/file-upload" class="dropzone" id>
      <div class="dropzone-previews"></div>
    </form>

    <div class="form-group">
      <div class="col-sm-10 col-sm-offset-2">
        <button type="submit" class="btn btn-primary">Submit</button>
      </div>
    </div>
</form>

【问题讨论】:

    标签: php jquery dropzone.js


    【解决方案1】:

    请尝试以下操作。正如创建者解释的那样,您必须以编程方式“加载”dropzone here

    	Dropzone.autoDiscover = false;
    	jQuery(document).ready(function() {
    
    	  $("div#my-awesome-dropzone").dropzone({
    	    url: "/file/post"
    	  });
    
    	});
    <link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.0.1/dropzone.css" rel="stylesheet" />
    <link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.0.1/min/basic.min.css" rel="stylesheet" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.0.1/dropzone.js"></script>
    
    
    <form action="products/add.php" method="POST" class="form-horizontal" role="form">
      <div class="form-group">
        <legend>Add product</legend>
      </div>
    
      <label for="title">Title</label>
      <input type="text" name="title" id="input-title" class="form-control">
    
      <label for="description">Description</label>
      <input type="text" name="description" id="input-description" class="form-control">
    
      <div class="dropzone dropzone-previews" id="my-awesome-dropzone"></div>
    
      <div class="form-group">
        <div class="col-sm-10 col-sm-offset-2">
          <button type="submit" class="btn btn-primary">Submit</button>
        </div>
      </div>
    </form>

    【讨论】:

    • 什么是自动发现?
    • @Limon 当 Dropzone 启动时,它会扫描整个文档,并查找具有 dropzone 类的元素。然后它为找到的每个元素创建一个 Dropzone 实例。如果您稍后自己创建一个 Dropzone 实例,您将创建第二个 Dropzone,这会导致错误。
    • 你太棒了!
    • 这实际上并没有在一个 POST 请求中同时发布表单和上传数据。
    猜你喜欢
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 2018-06-26
    • 2023-04-06
    相关资源
    最近更新 更多