teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

javascriptでinput file要素に要素追加する処理が漏れてました

2017/12/21 03:14

投稿

KoukoMatsumoto
KoukoMatsumoto

スコア41

title CHANGED
File without changes
body CHANGED
@@ -17,7 +17,7 @@
17
17
  ```html
18
18
  省略
19
19
  <form class='ajax_submit' method="post" action="/post" id="imageform" enctype="multipart/form-data">
20
- <input type="file" id="image-file" name="image" style="display: none" accept="image/*">
20
+ <input type="file" id="image" name="image" style="display: none" accept="image/*">
21
21
  </form>
22
22
  省略
23
23
  <div id="exec">
@@ -37,6 +37,19 @@
37
37
  ```
38
38
 
39
39
  ```javascript
40
+ window.onload = function() {
41
+ var fileInput = document.getElementById('image');
42
+
43
+ fileInput.addEventListener('change', function(e) {
44
+ var file = fileInput.files[0];
45
+ var imageType = /image.*/;
46
+
47
+ if (file.type.match(imageType) &&) {
48
+ var reader = new FileReader();
49
+ reader.readAsDataURL(file);
50
+ }
51
+ });
52
+
40
53
  $('#exec').click(function() {
41
54
  var form = $("form#imageform");
42
55
  var formData = new FormData( $(form).get(0) );
@@ -54,4 +67,5 @@
54
67
  }
55
68
  });
56
69
  });
70
+ }
57
71
  ```