このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
プログラム言語:javascript_jquery:dropzonejs:複数dropzoneのやり方 [2018/11/05 16:47] yusuke_komori |
プログラム言語:javascript_jquery:dropzonejs:複数dropzoneのやり方 [2018/11/05 17:59] (現在) yusuke_komori [up.php] |
||
|---|---|---|---|
| 行 7: | 行 7: | ||
| <script src=" | <script src=" | ||
| < | < | ||
| - | li { | + | li.dz { |
| display: inline-block; | display: inline-block; | ||
| margin: | margin: | ||
| 行 19: | 行 19: | ||
| < | < | ||
| <form action=" | <form action=" | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | <input type=" | ||
| <ul> | <ul> | ||
| <li id=" | <li id=" | ||
| 行 24: | 行 27: | ||
| </li> | </li> | ||
| <li id=" | <li id=" | ||
| + | dropzone | ||
| + | </li> | ||
| + | <li id=" | ||
| dropzone | dropzone | ||
| </li> | </li> | ||
| 行 29: | 行 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(' | ||
| + | } | ||
| + | }); | ||
| + | }, | ||
| + | | ||
| }); | }); | ||
| </ | </ | ||
| 行 50: | 行 96: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | ===== up.php ===== | ||
| + | < | ||
| + | <?php | ||
| + | if (!isset($_FILES) || count($_FILES) == 0) { | ||
| + | // エラー処理 | ||
| + | echo ' | ||
| + | exit; | ||
| + | } | ||
| + | |||
| + | // アップロード処理 | ||
| + | |||
| + | $key = key($_FILES); | ||
| + | |||
| + | echo $key . ' | ||
| + | |||
| + | /* | ||
| + | * 配列で返したい場合は、jsonにエンコードする | ||
| + | $result = [ | ||
| + | ' | ||
| + | ' | ||
| + | ]; | ||
| + | |||
| + | echo json_encode($result); | ||
| + | */ | ||
| + | </ | ||
| + | |||