JoinFormWeb.html 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org"
  4. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  5. layout:decorator="web/common/layout/DefaultLayoutWeb">
  6. <!--
  7. *******************************************************************************
  8. * @source : JoinFormWeb.html
  9. * @desc : 회원정보 입력 Page
  10. *============================================================================
  11. * STYLE24
  12. * Copyright(C) 2021 TSIT, All rights reserved.
  13. *============================================================================
  14. * VER DATE AUTHOR DESCRIPTION
  15. * === =========== ========== =============================================
  16. * 1.0 2021.02.05 jsshin 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <style>
  22. .show{display:block}
  23. .hide{display:none}
  24. </style>
  25. <div id="container" class="container mb">
  26. <div class="wrap">
  27. <div class="content join2"> <!-- 페이지특정 클래스 = join1 -->
  28. <div class="cont_head">
  29. <h3>style24</h3>
  30. </div>
  31. <div class="cont_body">
  32. <!-- form start -->
  33. <form id="joinForm" name="joinForm" class="form_wrap form_col_c form_full" role="form">
  34. <div class="form_head">
  35. <h4>회원정보 입력</h4>
  36. </div>
  37. <!-- 아이디 사용가능시 -->
  38. <div class="form_field">
  39. <label class="input_label sr-only">아이디</label>
  40. <div class="input_wrap form_full">
  41. <input type="text" id="custId" name="custId" placeholder="아이디" class="form_control" required="required" data-valid-type="alphaNumeric" data-valid-name="아이디"/><!-- class "usable" 추가 --> <!-- 잘못기입된 경우 class "err" 추가 -->
  42. <span class="usable" style="display:block;"></span><!-- display:block / display:none 으로 control -->
  43. </div>
  44. <div id="dupCustIdDiv" class="help_block hide">
  45. <p class="t_err">이미 가입된 아이디입니다.다른 아이디를 입력하여 주세요.</p>
  46. </div>
  47. </div>
  48. <!-- //아이디 사용가능시 -->
  49. <!-- 오류시 부모 div에서 제어 -->
  50. <div class="form_field">
  51. <label class="input_label sr-only">비밀번호</label>
  52. <div class="input_wrap form_full">
  53. <input type="password" id="passwd" name="passwd" placeholder="비밀번호 (8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호"/><!-- 잘못기입된 경우 class "err" 추가 -->
  54. <!-- case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
  55. <div class="help_block">
  56. <!-- 사용불가 비밀번호일경우 -->
  57. <p class="mt10">
  58. <span class="c_black2">
  59. <i class="ico ico_check black mr5"></i>영문(대/소문자), 숫자, 특수문자 중 2가지 이상 조합(8~20자)<br>
  60. </span>
  61. <span class="c_red2">
  62. <i class="ico ico_check red mr5"></i>4개이상 연속되거나 동일한 문자/숫자 제외<br>
  63. </span>
  64. <span class="c_gray">
  65. <i class="ico ico_check gray mr5"></i>아이디 제외
  66. </span>
  67. </p>
  68. <!-- //사용불가 비밀번호일경우 -->
  69. <!-- 사용가능한 비밀번호일경우 -->
  70. <p class="mt10">
  71. <span class="c_black2">
  72. <i class="ico ico_check black mr5"></i>사용 가능한 비밀번호입니다
  73. </span>
  74. </p>
  75. <!-- //사용가능한 비밀번호일경우 -->
  76. </div>
  77. <!-- //case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
  78. </div>
  79. </div>
  80. <!-- //오류시 부모 div에서 제어 -->
  81. <div class="form_field">
  82. <label class="input_label sr-only">비밀번호 확인</label>
  83. <div class="input_wrap form_full">
  84. <input type="password" id="confirmPassword" name="confirmPassword" placeholder="비밀번호 확인" class="form_control" ><!-- 잘못기입된 경우 class "err" 추가 -->
  85. <!-- case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
  86. <div class="help_block">
  87. <!-- 비밀번호확인 틀렸을경우 -->
  88. <p class="t_err">
  89. 비밀번호가 일치하지 않습니다.
  90. </p>
  91. <!-- //비밀번호확인 틀렸을경우 -->
  92. <!-- 비밀번호 일치할경우 -->
  93. <p class="mt10">
  94. <span class="c_black2"><i class="ico ico_check black mr5"></i>비밀번호가 일치합니다.</span>
  95. </p>
  96. <!-- //비밀번호 일치할경우 -->
  97. </div>
  98. <!-- //case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
  99. </div>
  100. </div>
  101. <div class="form_field">
  102. <label class="input_label sr-only">이메일</label>
  103. <div class="input_wrap form_full">
  104. <input type="text" id="email" name="email" placeholder="이메일" class="form_control"/><!-- 잘못기입된 경우 class "err" 추가 -->
  105. <!-- case (이메일 형식이 바르지않을경우,이미 가입되어있는 이메일인경우) -->
  106. <div class="help_block">
  107. <!-- 이메일 형식이 바르지않을경우 -->
  108. <p class="t_err">
  109. 이메일 형식이 올바르지 않습니다.
  110. </p>
  111. <!-- //이메일 형식이 바르지않을경우 -->
  112. <!-- 이미 가입되어있는 이메일인경우 -->
  113. <p class="t_err">
  114. 이미 가입된 이메일 주소입니다. 다른 이메일 주소를 입력하여 주세요.
  115. </p>
  116. <div class="mt20">
  117. <button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_LOGIN);">
  118. <span>로그인</span>
  119. </button>
  120. <button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_CUSTOMER_ID_FIND);">
  121. <span>아이디 찾기</span>
  122. </button>
  123. </div>
  124. <!-- //이미 가입되어있는 이메일인경우 -->
  125. </div>
  126. <!-- //case (이메일 형식이 바르지않을경우,이미 가입되어있는 이메일인경우) -->
  127. </div>
  128. </div>
  129. <div class="form_field">
  130. <label class="input_label sr-only">휴대폰번호</label>
  131. <div class="input_wrap form_full">
  132. <input type="text" name="userTell" placeholder="휴대폰번호" class="form_control" id="txtTell">
  133. <!-- case (휴대폰번호 형식이 맞지 않을경우,이미 가입되어있는 핸드폰번호일경우) -->
  134. <div class="help_block">
  135. <!-- 휴대폰번호 형식이 맞지 않을경우 -->
  136. <p class="t_err">휴대폰번호를 형식에 맞게 정확히 입력해주세요</p>
  137. <!-- //휴대폰번호 형식이 맞지 않을경우 -->
  138. <!-- 이미 가입되어있는 핸드폰번호일경우 -->
  139. <p class="t_err">I***D로 가입된 핸드폰 번호 입니다.</p>
  140. <div class="mt20">
  141. <button type="button" class="btn btn_default btn_sm"><span>휴대폰 인증</span></button>
  142. </div>
  143. <!-- //이미 가입되어있는 핸드폰번호일경우 -->
  144. </div>
  145. <!-- //case (휴대폰번호 형식이 맞지 않을경우,이미 가입되어있는 핸드폰번호일경우) -->
  146. </div>
  147. </div>
  148. <div class="mt40">
  149. <button class="btn btn_primary btn_block"><span>동의하고 가입하기</span></button>
  150. </div>
  151. <div class="desc_wrap t_c mt20">
  152. <p>
  153. 본인은&nbsp;만 14세 이상이며&nbsp;<a href="" target="_blank">STYLE24이용약관<i class="ico ico_blank ml5"></i></a>,&nbsp;<a href="" target="_blank">개인정보 수집 및 이용<i class="ico ico_blank ml5"></i></a>,<br>
  154. <a href="" target="_blank">개인정보 취급 위탁<i class="ico ico_blank ml5"></i></a> 내용을 확인 하였으며,동의합니다.
  155. </p>
  156. </div>
  157. </form>
  158. <!-- form End -->
  159. </div>
  160. </div>
  161. </div>
  162. </div>
  163. <script th:src="@{'/ux/customer/customer.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/ux/customer/customer.js"></script>
  164. <script th:inline="javascript">
  165. /*<![CDATA[*/
  166. // 중복된 아이디 확인
  167. $('#custId').on('blur', function () {
  168. let custId = $(this).val();
  169. if(!gagajf.isNull(custId)) {
  170. let custInfo = {};
  171. custInfo.custId = custId;
  172. let jsonData = JSON.stringify(custInfo);
  173. ajaxJsonSubmit('/customer/id/check', jsonData, fnIdConfirmCallBack)
  174. }
  175. });
  176. var fnIdConfirmCallBack = function (result) {
  177. let $dupCustIdDiv = $('dupCustIdDiv');
  178. if (result.isFind) { // 중복된 아이디가 존재
  179. $dupCustIdDiv.show();
  180. } else {
  181. }
  182. }
  183. /*]]>*/
  184. </script>
  185. </th:block>
  186. </body>
  187. </html>