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

回答編集履歴

1

test

2021/12/01 03:07

投稿

yambejp
yambejp

スコア118102

answer CHANGED
@@ -4,4 +4,57 @@
4
4
 
5
5
  任意にtype="file"でローカルのファイルを手動で指定することで
6
6
  ファイルの内容から入力要素を入れ込むことはできます。
7
- ローカルのファイルを自動で取り込むことはできません
7
+ ローカルのファイルを自動で取り込むことはできません
8
+
9
+ # sample
10
+ ファイルをドロップして読んでinputに表示する方法が
11
+ ```javascript
12
+ <style>
13
+ .droppable{
14
+ border:1px solid;
15
+ position:relative;
16
+ height:200px;
17
+ }
18
+ .droparea{
19
+ position:absolute;
20
+ top:0;
21
+ width:100%;
22
+ height:100%;;
23
+ opacity:0;
24
+ background-Color:lime;
25
+ }
26
+ </style>
27
+ <script>
28
+ window.addEventListener('DOMContentLoaded', ()=>{
29
+ document.querySelector('#myfile').addEventListener('drop',(e)=>{
30
+ const file=e.dataTransfer.files[0];
31
+ const fr = new FileReader();
32
+ fr.onload = function(e) {
33
+ const txts=e.target.result.split(/[\r\n]+/);
34
+ document.querySelectorAll('[type=text]').forEach((x,y)=>{
35
+ x.value=txts[y];
36
+ });
37
+ };
38
+ fr.readAsText(file);
39
+ });
40
+ });
41
+ </script>
42
+ <div class="droppable">
43
+ <div>ドロップして</div>
44
+ <input type="file" id="myfile" class="droparea" >
45
+ </div>
46
+ <input type="text"><br>
47
+ <input type="text"><br>
48
+ <input type="text"><br>
49
+ <input type="text"><br>
50
+ <input type="text"><br>
51
+ ```
52
+
53
+ //test.txt
54
+ ```text
55
+ aaa
56
+ bbb
57
+ ccc
58
+ ddd
59
+ eee
60
+ ```