이재호

add get info and save it

...@@ -3,6 +3,58 @@ ...@@ -3,6 +3,58 @@
3 <head> 3 <head>
4 <title><%= title %></title> 4 <title><%= title %></title>
5 <link rel='stylesheet' href='/stylesheets/style.css' /> 5 <link rel='stylesheet' href='/stylesheets/style.css' />
6 + <!-- Jquery를 불러온다 -->
7 + <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
8 + <script>
9 + var place = prompt("위치를 입력해 주세요. ex) 전자정보대학", ""); //위치 정보를 입력 받는다.
10 + alert(place + '(으)로 설정되었습니다.');
11 + var fileName = place + '.txt'; // 위치를 파일 이름으로 쓰기 위함.
12 +
13 + var nameArr = []; // 이름을 저장할 배열
14 + var numArr = []; // 전화번호를 저장할 배열
15 + var idArr = []; // 신분을 저장할 배열
16 + var dayTimeArr = []; // 날짜와 시간을 저장할 배열
17 +
18 + function getDayTime() // 날짜와 시간을 구해주는 함수
19 + {
20 + var today = new Date();
21 + var day = today.toLocaleDateString(); //년도.월.날짜
22 + var time = today.toLocaleTimeString(); //시:분:초
23 + return (day + ' ' + time);
24 + };
25 +
26 + function getInfo() // 입력받은 데이터를 배열에 저장한다.
27 + {
28 + var temp_name = document.getElementById('name').value;
29 + var temp_num = document.getElementById('number').value;
30 + var id_index = document.getElementById('identity');
31 + var temp_id = id_index.options[id_index.selectedIndex].value;
32 + var dateTime = getDayTime();
33 + nameArr.push(temp_name);
34 + console.log(nameArr);
35 + numArr.push(temp_num);
36 + console.log(numArr);
37 + idArr.push(temp_id);
38 + console.log(idArr);
39 + dayTimeArr.push(dateTime);
40 + console.log(dayTimeArr);
41 +
42 + };
43 +
44 + function save() // 배열에 저장한 데이터를 가공해 json파일의 형태로 만들고, 다운로드 링크를 생성한다.
45 + {
46 + var obj = new Object();
47 + for (var i = 0; i< nameArr.length; i++)
48 + {
49 + obj[nameArr[i]] = {"전화번호": numArr[i], "신분": idArr[i], "일시": dayTimeArr[i]};
50 + }
51 + var obj_s = JSON.stringify(obj, null, "\t"); //json text화 시키기.
52 + var dataUri = "data:application/json;charset=utf-8,"+ encodeURIComponent(obj_s);// 파일 링크 생성
53 + var link = $("#link").attr("href", dataUri);
54 + console.log('Save Complete');
55 + document.getElementById('link').setAttribute('download', fileName); // 다운로드 전 파일 이름을 변경해준다.
56 + };
57 + </script>
6 </head> 58 </head>
7 <body> 59 <body>
8 <h1><%= title %></h1> 60 <h1><%= title %></h1>
...@@ -25,20 +77,22 @@ ...@@ -25,20 +77,22 @@
25 <fieldset style = "width:600px"> 77 <fieldset style = "width:600px">
26 <legend>방문자 인적 사항</legend> 78 <legend>방문자 인적 사항</legend>
27 이름: 79 이름:
28 - <input type='text' name='name' style="width:70px" required/>&nbsp; 80 + <input type='text' id='name' style="width:70px" required/>&nbsp;
29 전화번호: 81 전화번호:
30 - <input type='text' name='number' style="width:250px" placeholder="XXX-XXXX-XXXX 형식으로 입력하세요." required/>&nbsp; 82 + <input type='text' id='number' style="width:250px" placeholder="XXX-XXXX-XXXX 형식으로 입력하세요." required/>&nbsp;
31 <div style="display:inline">신분:</div> 83 <div style="display:inline">신분:</div>
32 - <select name = "id" style="width: 50;"> 84 + <select id = "identity" style="width: 50;">
33 <option value = "재학생">재학생</option> 85 <option value = "재학생">재학생</option>
34 <option value = "휴학생">휴학생</option> 86 <option value = "휴학생">휴학생</option>
35 <option value = "직원">직원</option> 87 <option value = "직원">직원</option>
36 <option value = "외부인">외부인</option> 88 <option value = "외부인">외부인</option>
37 </select><br><br> 89 </select><br><br>
38 - <input type = "submit" value = "제출"/>&nbsp; 90 + <button type="button" onclick="getInfo();">제출</button>
39 <input type = "reset" value = "다시입력"/> 91 <input type = "reset" value = "다시입력"/>
40 </fieldset> 92 </fieldset>
41 </form> 93 </form>
94 + <button type="button" onclick="save();">저장</button>
95 + <a href="#" id="link" download="name">다운로드</a>
42 <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.3.1/dist/tf.min.js"></script> 96 <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.3.1/dist/tf.min.js"></script>
43 <script src="https://cdn.jsdelivr.net/npm/@teachablemachine/image@0.8/dist/teachablemachine-image.min.js"></script> 97 <script src="https://cdn.jsdelivr.net/npm/@teachablemachine/image@0.8/dist/teachablemachine-image.min.js"></script>
44 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 98 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
......