このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
プログラム言語:javascript_jquery:dropzonejs:複数dropzoneのやり方 [2018/11/02 16:47] yusuke_komori |
プログラム言語:javascript_jquery:dropzonejs:複数dropzoneのやり方 [2018/11/05 17:59] (現在) yusuke_komori [up.php] |
||
---|---|---|---|
行 3: | 行 3: | ||
< | < | ||
< | < | ||
+ | <meta charset=" | ||
<script src=" | <script src=" | ||
<script src=" | <script src=" | ||
< | < | ||
- | li { | + | li.dz { |
display: inline-block; | display: inline-block; | ||
margin: | margin: | ||
行 18: | 行 19: | ||
< | < | ||
<form action=" | <form action=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <input type=" | ||
<ul> | <ul> | ||
<li id=" | <li id=" | ||
行 23: | 行 27: | ||
</li> | </li> | ||
<li id=" | <li id=" | ||
+ | dropzone | ||
+ | </li> | ||
+ | <li id=" | ||
dropzone | dropzone | ||
</li> | </li> | ||
行 28: | 行 35: | ||
</ | </ | ||
< | < | ||
- | var myDropzone | + | Dropzone.autoDiscover |
$(' | $(' | ||
- | id = i + 1; | + | $('# |
+ | url: ' | ||
+ | paramName: $(elem).data(' | ||
+ | maxFiles: | ||
+ | maxfilesexceeded: | ||
+ | alert(' | ||
+ | this.removeFile(file); | ||
+ | }, | ||
+ | dictMaxFilesExceeded: | ||
+ | success: function(file, | ||
+ | if (result == ' | ||
+ | alert(' | ||
+ | this.removeFile(file); | ||
+ | return; | ||
+ | } | ||
+ | $(' | ||
+ | if (file.previewElement) { | ||
+ | return file.previewElement.classList.add(' | ||
+ | } | ||
+ | }, | ||
+ | addRemoveLinks: | ||
+ | dictRemoveFile: | ||
+ | removedfile: | ||
+ | var thisDropzone = this; | ||
+ | var postData = {}; | ||
- | console.log(id + ': ' + $(elem).data(' | + | $.each($(elem).data(), function(j, data) { |
+ | postData[j] = data; | ||
+ | }); | ||
- | myDropzone[id] = new Dropzone('# | + | |
- | url: 'up.php', | + | url: 'remove.php', |
- | | + | |
- | | + | data: postData, |
- | | + | cache: false, |
- | | + | complete: function() { |
- | | + | $(' |
+ | |||
+ | var _ref; | ||
+ | if (file.previewElement) { | ||
+ | | ||
+ | _ref.parentNode.removeChild(file.previewElement); | ||
+ | | ||
+ | } | ||
+ | |||
+ | return thisDropzone._updateMaxFilesReachedClass(); | ||
}, | }, | ||
- | | + | error: function() { |
+ | alert(' | ||
+ | } | ||
+ | }); | ||
+ | }, | ||
+ | | ||
}); | }); | ||
</ | </ | ||
行 49: | 行 96: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | ===== up.php ===== | ||
+ | < | ||
+ | <?php | ||
+ | if (!isset($_FILES) || count($_FILES) == 0) { | ||
+ | // エラー処理 | ||
+ | echo ' | ||
+ | exit; | ||
+ | } | ||
+ | |||
+ | // アップロード処理 | ||
+ | |||
+ | $key = key($_FILES); | ||
+ | |||
+ | echo $key . ' | ||
+ | |||
+ | /* | ||
+ | * 配列で返したい場合は、jsonにエンコードする | ||
+ | $result = [ | ||
+ | ' | ||
+ | ' | ||
+ | ]; | ||
+ | |||
+ | echo json_encode($result); | ||
+ | */ | ||
+ | </ | ||
+ |