回答編集履歴
5
必要ないコードを削除
test
CHANGED
@@ -174,8 +174,6 @@
|
|
174
174
|
|
175
175
|
{
|
176
176
|
|
177
|
-
el.window = $(window);
|
178
|
-
|
179
177
|
el.input = $(setting.input);
|
180
178
|
|
181
179
|
el.list = $(setting.list);
|
4
追記
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
ものすごく勘違いしてましたしっかり確認せずすみません。
|
8
8
|
|
9
|
-
問題は、ブラウザがfile
|
9
|
+
問題は、ブラウザがfileをキャッシュするためchangeイベントが発生しないのが問題のようです。
|
10
10
|
|
11
11
|
コードを一部書き換えました勘違いしてましたすみません。
|
12
12
|
|
@@ -24,12 +24,20 @@
|
|
24
24
|
|
25
25
|
```
|
26
26
|
|
27
|
-
|
27
|
+
生のjavascriptならクリックイベントで
|
28
|
-
|
29
|
-
|
30
28
|
|
31
29
|
```javascript
|
32
30
|
|
31
|
+
this.value = null;
|
32
|
+
|
33
|
+
```
|
34
|
+
|
35
|
+
でいけそうです。(未検証)
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
```javascript
|
40
|
+
|
33
41
|
<!DOCTYPE html>
|
34
42
|
|
35
43
|
<html>
|
3
コードを書き直しました
test
CHANGED
@@ -2,24 +2,30 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
[コード書き直しました]
|
6
|
+
|
7
|
+
ものすごく勘違いしてましたしっかり確認せずすみません。
|
8
|
+
|
9
|
+
問題は、ブラウザがfileなどをキャッシュするためchangeイベントが発生しないのが問題のようです。
|
10
|
+
|
11
|
+
コードを一部書き換えました勘違いしてましたすみません。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
[参考ページ](https://stackoverflow.com/questions/4109276/how-to-detect-input-type-file-change-for-the-same-file)
|
16
|
+
|
17
|
+
|
18
|
+
|
5
|
-
ポイントは
|
19
|
+
ポイントはこちらです。valueを削除しています。
|
6
|
-
|
7
|
-
|
8
20
|
|
9
21
|
```javascript
|
10
22
|
|
11
|
-
el.
|
23
|
+
el.input.prop('value','');
|
12
24
|
|
13
25
|
```
|
14
26
|
|
15
27
|
|
16
28
|
|
17
|
-
この箇所です。詳しくは[こちら](http://www.jquerystudy.info/reference/events/on.html)のページをごらんください。
|
18
|
-
|
19
|
-
参考になりますと幸いです。
|
20
|
-
|
21
|
-
|
22
|
-
|
23
29
|
|
24
30
|
|
25
31
|
```javascript
|
@@ -40,7 +46,7 @@
|
|
40
46
|
|
41
47
|
<body>
|
42
48
|
|
43
|
-
<form
|
49
|
+
<form action="Z_confirm.php" method="post" enctype="multipart/form-data">
|
44
50
|
|
45
51
|
|
46
52
|
|
@@ -88,7 +94,7 @@
|
|
88
94
|
|
89
95
|
var obj = form.fileSelect({
|
90
96
|
|
91
|
-
|
97
|
+
input : '#files',
|
92
98
|
|
93
99
|
list : '#list',
|
94
100
|
|
@@ -120,7 +126,7 @@
|
|
120
126
|
|
121
127
|
|
122
128
|
|
123
|
-
//すべてのファイルを取得 配列
|
129
|
+
//すべてのファイルを取得 配列
|
124
130
|
|
125
131
|
console.log(obj.getFiles());
|
126
132
|
|
@@ -162,7 +168,7 @@
|
|
162
168
|
|
163
169
|
el.window = $(window);
|
164
170
|
|
165
|
-
el.
|
171
|
+
el.input = $(setting.input);
|
166
172
|
|
167
173
|
el.list = $(setting.list);
|
168
174
|
|
@@ -184,7 +190,7 @@
|
|
184
190
|
|
185
191
|
{
|
186
192
|
|
187
|
-
el.
|
193
|
+
el.input.on('change', handleFileSelect);
|
188
194
|
|
189
195
|
el.deleteBtn.on('click', deleteFile);
|
190
196
|
|
@@ -224,15 +230,15 @@
|
|
224
230
|
|
225
231
|
|
226
232
|
|
233
|
+
file.src = e.target.result;
|
234
|
+
|
227
235
|
data.files.push(file);
|
228
236
|
|
229
|
-
|
230
|
-
|
231
237
|
var spn = $('<span>');
|
232
238
|
|
233
239
|
spn.append($('<img>').attr({
|
234
240
|
|
235
|
-
src: e.
|
241
|
+
src: file.src,
|
236
242
|
|
237
243
|
width: setting.thumbnail.width,
|
238
244
|
|
@@ -248,7 +254,11 @@
|
|
248
254
|
|
249
255
|
|
250
256
|
|
251
|
-
el.
|
257
|
+
el.input.trigger( "OnSelectFile", file );
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
reader.va
|
252
262
|
|
253
263
|
};
|
254
264
|
|
@@ -262,6 +272,16 @@
|
|
262
272
|
|
263
273
|
|
264
274
|
|
275
|
+
var deleteVal = function()
|
276
|
+
|
277
|
+
{
|
278
|
+
|
279
|
+
el.input.prop('value','');
|
280
|
+
|
281
|
+
};
|
282
|
+
|
283
|
+
|
284
|
+
|
265
285
|
var deleteFile = function()
|
266
286
|
|
267
287
|
{
|
@@ -270,6 +290,8 @@
|
|
270
290
|
|
271
291
|
data.files = [];
|
272
292
|
|
293
|
+
deleteVal();
|
294
|
+
|
273
295
|
};
|
274
296
|
|
275
297
|
|
@@ -278,7 +300,7 @@
|
|
278
300
|
|
279
301
|
{
|
280
302
|
|
281
|
-
el.
|
303
|
+
el.input.on('OnSelectFile', function(e, f){
|
282
304
|
|
283
305
|
fn(f);
|
284
306
|
|
@@ -294,6 +316,8 @@
|
|
294
316
|
|
295
317
|
el.list.html('');
|
296
318
|
|
319
|
+
deleteVal();
|
320
|
+
|
297
321
|
};
|
298
322
|
|
299
323
|
|
2
誤字訂正と追記
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
この箇所です。詳しくは[こちら](http://www.jquerystudy.info/reference/events/on.html)のページをごん
|
17
|
+
この箇所です。詳しくは[こちら](http://www.jquerystudy.info/reference/events/on.html)のページをごらんください。
|
18
18
|
|
19
19
|
参考になりますと幸いです。
|
20
20
|
|
@@ -120,7 +120,7 @@
|
|
120
120
|
|
121
121
|
|
122
122
|
|
123
|
-
//すべてのファイルを取得 配列
|
123
|
+
//すべてのファイルを取得 配列で返ってきます
|
124
124
|
|
125
125
|
console.log(obj.getFiles());
|
126
126
|
|
1
追記です。
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
当方、生のJavascriptを書いたことがなくコードが理解できなかったのでJqueryのみで書いてみました。書いているうちに少し大きめになってしまいました。参考にしていただけますと幸いです。
|
1
|
+
当方、生のJavascriptを書いたことがなくコードが理解できなかったのでJqueryのみで書いてみました。書いているうちに少し大きめになってしまいました。すみません。参考にしていただけますと幸いです。
|
2
2
|
|
3
3
|
|
4
4
|
|