Showing
1 changed file
with
49 additions
and
12 deletions
| ... | @@ -7,8 +7,6 @@ | ... | @@ -7,8 +7,6 @@ |
| 7 | <!-- 합쳐지고 최소화된 최신 CSS --> | 7 | <!-- 합쳐지고 최소화된 최신 CSS --> |
| 8 | <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> | 8 | <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> |
| 9 | <link rel='stylesheet' href='/stylesheets/style.css' /> | 9 | <link rel='stylesheet' href='/stylesheets/style.css' /> |
| 10 | -<<<<<<< HEAD | ||
| 11 | -======= | ||
| 12 | <!-- Jquery를 불러온다 --> | 10 | <!-- Jquery를 불러온다 --> |
| 13 | <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> | 11 | <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> |
| 14 | <script> | 12 | <script> |
| ... | @@ -20,7 +18,40 @@ | ... | @@ -20,7 +18,40 @@ |
| 20 | var numArr = []; // 전화번호를 저장할 배열 | 18 | var numArr = []; // 전화번호를 저장할 배열 |
| 21 | var idArr = []; // 신분을 저장할 배열 | 19 | var idArr = []; // 신분을 저장할 배열 |
| 22 | var dayTimeArr = []; // 날짜와 시간을 저장할 배열 | 20 | var dayTimeArr = []; // 날짜와 시간을 저장할 배열 |
| 23 | - | 21 | + |
| 22 | + function checkInput() // 입력값이 공백이니 아닌지 확인 | ||
| 23 | + { | ||
| 24 | + if(document.getElementById('name').value == "" || document.getElementById('number').value == "") | ||
| 25 | + { | ||
| 26 | + alert("이름과 전화번호를 정확히 기입해 주세요."); | ||
| 27 | + clear(); | ||
| 28 | + return; | ||
| 29 | + } | ||
| 30 | + getInfo(); | ||
| 31 | + }; | ||
| 32 | + function checkName() // 올바른 이름 형태인지 확인 | ||
| 33 | + { | ||
| 34 | + var name = document.getElementById('name').value; | ||
| 35 | + var regex = /^[가-힣]{2,4}|[a-zA-Z]{2,10}\s[a-zA-Z]{2,10}$/; | ||
| 36 | + if (!(regex.test(name))) | ||
| 37 | + { | ||
| 38 | + alert("이름을 정확히 입력해 주세요."); | ||
| 39 | + document.getElementById('name').value = ""; | ||
| 40 | + } | ||
| 41 | + }; | ||
| 42 | + | ||
| 43 | + function checkNumber() // 올바른 전화번호 형태인지 확인 | ||
| 44 | + { | ||
| 45 | + var number = document.getElementById('number').value; | ||
| 46 | + var regex = /^\d{3}-\d{4}-\d{4}$/; | ||
| 47 | + if (!(regex.test(number))) | ||
| 48 | + { | ||
| 49 | + alert("010-XXXX-XXXX 형식에 맞게 입력해 주세요."); | ||
| 50 | + document.getElementById('number').value = ""; | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + }; | ||
| 54 | + | ||
| 24 | function getDayTime() // 날짜와 시간을 구해주는 함수 | 55 | function getDayTime() // 날짜와 시간을 구해주는 함수 |
| 25 | { | 56 | { |
| 26 | var today = new Date(); | 57 | var today = new Date(); |
| ... | @@ -28,7 +59,13 @@ | ... | @@ -28,7 +59,13 @@ |
| 28 | var time = today.toLocaleTimeString(); //시:분:초 | 59 | var time = today.toLocaleTimeString(); //시:분:초 |
| 29 | return (day + ' ' + time); | 60 | return (day + ' ' + time); |
| 30 | }; | 61 | }; |
| 31 | - | 62 | + |
| 63 | + function clear() // 데이터 제출 시 input box를 초기화 시킨다. | ||
| 64 | + { | ||
| 65 | + document.getElementById('name').value = ""; | ||
| 66 | + document.getElementById('number').value = ""; | ||
| 67 | + }; | ||
| 68 | + | ||
| 32 | function getInfo() // 입력받은 데이터를 배열에 저장한다. | 69 | function getInfo() // 입력받은 데이터를 배열에 저장한다. |
| 33 | { | 70 | { |
| 34 | var temp_name = document.getElementById('name').value; | 71 | var temp_name = document.getElementById('name').value; |
| ... | @@ -44,9 +81,10 @@ | ... | @@ -44,9 +81,10 @@ |
| 44 | console.log(idArr); | 81 | console.log(idArr); |
| 45 | dayTimeArr.push(dateTime); | 82 | dayTimeArr.push(dateTime); |
| 46 | console.log(dayTimeArr); | 83 | console.log(dayTimeArr); |
| 84 | + clear(); | ||
| 47 | 85 | ||
| 48 | }; | 86 | }; |
| 49 | - | 87 | + |
| 50 | function save() // 배열에 저장한 데이터를 가공해 json파일의 형태로 만들고, 다운로드 링크를 생성한다. | 88 | function save() // 배열에 저장한 데이터를 가공해 json파일의 형태로 만들고, 다운로드 링크를 생성한다. |
| 51 | { | 89 | { |
| 52 | var obj = new Object(); | 90 | var obj = new Object(); |
| ... | @@ -60,8 +98,8 @@ | ... | @@ -60,8 +98,8 @@ |
| 60 | console.log('Save Complete'); | 98 | console.log('Save Complete'); |
| 61 | document.getElementById('link').setAttribute('download', fileName); // 다운로드 전 파일 이름을 변경해준다. | 99 | document.getElementById('link').setAttribute('download', fileName); // 다운로드 전 파일 이름을 변경해준다. |
| 62 | }; | 100 | }; |
| 101 | + | ||
| 63 | </script> | 102 | </script> |
| 64 | ->>>>>>> 915eacfc5f4f474bf100af252cf05cd2b665fe4f | ||
| 65 | </head> | 103 | </head> |
| 66 | <body> | 104 | <body> |
| 67 | <!-- header --> | 105 | <!-- header --> |
| ... | @@ -84,11 +122,11 @@ | ... | @@ -84,11 +122,11 @@ |
| 84 | <div class="col-lg-6"> | 122 | <div class="col-lg-6"> |
| 85 | <form> | 123 | <form> |
| 86 | <legend>방문자 인적 사항</legend> | 124 | <legend>방문자 인적 사항</legend> |
| 87 | - <p>이름: <input class="form-control" type='text' id='name' placeholder="고길동"> | 125 | + <p>이름: <input class="form-control" type='text' id='name' onblur="checkName();" placeholder="홍길동" required> |
| 88 | </p> | 126 | </p> |
| 89 | - <p>전화번호: <input class="form-control" type='text' id='number' placeholder="010-1234-1234" ></input></p> | 127 | + <p>전화번호: <input class="form-control" type='text' id='number' onblur="checkNumber();" placeholder="010-XXXX-XXXX" required></input></p> |
| 90 | <p>신분: | 128 | <p>신분: |
| 91 | - <select id = "identity" class="form-control"> | 129 | + <select id = "identity" class="form-control" required> |
| 92 | <option value = "재학생">재학생</option> | 130 | <option value = "재학생">재학생</option> |
| 93 | <option value = "휴학생">휴학생</option> | 131 | <option value = "휴학생">휴학생</option> |
| 94 | <option value = "직원">직원</option> | 132 | <option value = "직원">직원</option> |
| ... | @@ -97,7 +135,7 @@ | ... | @@ -97,7 +135,7 @@ |
| 97 | </p> | 135 | </p> |
| 98 | <p> | 136 | <p> |
| 99 | <input type = "reset" style="float:right; margin-left:5px; background-image: linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%); border: 0;" class="btn btn-warning"value = "다시입력"/> | 137 | <input type = "reset" style="float:right; margin-left:5px; background-image: linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%); border: 0;" class="btn btn-warning"value = "다시입력"/> |
| 100 | - <button type = "button" onclick="getInfo();" style="float:right; background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%); border: 0; " class="btn btn-success">제출</button> | 138 | + <button type = "button" onclick="checkInput();" style="float:right; background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%); border: 0; " class="btn btn-success">제출</button> |
| 101 | </p> | 139 | </p> |
| 102 | <button type="button" onclick="save();">저장</button> | 140 | <button type="button" onclick="save();">저장</button> |
| 103 | <a href="#" id="link" download="name">다운로드</a> | 141 | <a href="#" id="link" download="name">다운로드</a> |
| ... | @@ -110,7 +148,6 @@ | ... | @@ -110,7 +148,6 @@ |
| 110 | <!--초기값으로 '시작'이라는 음성을 사용 --> | 148 | <!--초기값으로 '시작'이라는 음성을 사용 --> |
| 111 | <!--auto play 기능을 위해 iframe 사용 --> | 149 | <!--auto play 기능을 위해 iframe 사용 --> |
| 112 | <iframe src="/audios/4.mp3" allow="autoplay" id="audio" style="display:none"></iframe> | 150 | <iframe src="/audios/4.mp3" allow="autoplay" id="audio" style="display:none"></iframe> |
| 113 | -<<<<<<< HEAD | ||
| 114 | </span> | 151 | </span> |
| 115 | <!-- footer --> | 152 | <!-- footer --> |
| 116 | <footer> | 153 | <footer> |
| ... | @@ -247,4 +284,4 @@ | ... | @@ -247,4 +284,4 @@ |
| 247 | 284 | ||
| 248 | </script> | 285 | </script> |
| 249 | </body> | 286 | </body> |
| 250 | -</html> | 287 | +</html> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment