|
@@ -17,8 +17,11 @@
|
|
|
*******************************************************************************
|
|
*******************************************************************************
|
|
|
-->
|
|
-->
|
|
|
<body>
|
|
<body>
|
|
|
-
|
|
|
|
|
<th:block layout:fragment="content">
|
|
<th:block layout:fragment="content">
|
|
|
|
|
+<style>
|
|
|
|
|
+ .show{display:block}
|
|
|
|
|
+ .hide{display:none}
|
|
|
|
|
+</style>
|
|
|
<div id="container" class="container mb">
|
|
<div id="container" class="container mb">
|
|
|
<div class="wrap">
|
|
<div class="wrap">
|
|
|
<div class="content join2"> <!-- 페이지특정 클래스 = join1 -->
|
|
<div class="content join2"> <!-- 페이지특정 클래스 = join1 -->
|
|
@@ -27,7 +30,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="cont_body">
|
|
<div class="cont_body">
|
|
|
<!-- form start -->
|
|
<!-- form start -->
|
|
|
- <form class="form_wrap form_col_c form_full" role="form">
|
|
|
|
|
|
|
+ <form id="joinForm" name="joinForm" class="form_wrap form_col_c form_full" role="form">
|
|
|
<div class="form_head">
|
|
<div class="form_head">
|
|
|
<h4>회원정보 입력</h4>
|
|
<h4>회원정보 입력</h4>
|
|
|
</div>
|
|
</div>
|
|
@@ -35,41 +38,39 @@
|
|
|
<div class="form_field">
|
|
<div class="form_field">
|
|
|
<label class="input_label sr-only">아이디</label>
|
|
<label class="input_label sr-only">아이디</label>
|
|
|
<div class="input_wrap form_full">
|
|
<div class="input_wrap form_full">
|
|
|
- <input type="text" name="userId" placeholder="아이디" value="moon123" class="form_control usable" id="txtId"><!-- class "usable" 추가 -->
|
|
|
|
|
|
|
+ <input type="text" id="custId" name="custId" placeholder="아이디 (4~12자)" class="form_control" required="required" data-valid-type="alphaNumeric" data-valid-name="아이디" minlength="4" maxlength="12"/>
|
|
|
<span class="usable" style="display:block;"></span><!-- display:block / display:none 으로 control -->
|
|
<span class="usable" style="display:block;"></span><!-- display:block / display:none 으로 control -->
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <!-- //아이디 사용가능시 -->
|
|
|
|
|
- <!-- 아이디 사용불가시 -->
|
|
|
|
|
- <div class="form_field">
|
|
|
|
|
- <label class="input_label sr-only">아이디</label>
|
|
|
|
|
- <div class="input_wrap form_full">
|
|
|
|
|
- <input type="text" name="userId" placeholder="아이디" value="abcd1234" class="form_control err" id="txtId"><!-- 잘못기입된 경우 class "err" 추가 -->
|
|
|
|
|
- <span class="usable"></span>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="help_block">
|
|
|
|
|
|
|
+ <div id="dupCustIdDiv" class="help_block hide">
|
|
|
<p class="t_err">이미 가입된 아이디입니다.다른 아이디를 입력하여 주세요.</p>
|
|
<p class="t_err">이미 가입된 아이디입니다.다른 아이디를 입력하여 주세요.</p>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <!-- //아이디 사용불가시 -->
|
|
|
|
|
-
|
|
|
|
|
|
|
+ <!-- //아이디 사용가능시 -->
|
|
|
<!-- 오류시 부모 div에서 제어 -->
|
|
<!-- 오류시 부모 div에서 제어 -->
|
|
|
<div class="form_field">
|
|
<div class="form_field">
|
|
|
<label class="input_label sr-only">비밀번호</label>
|
|
<label class="input_label sr-only">비밀번호</label>
|
|
|
<div class="input_wrap form_full">
|
|
<div class="input_wrap form_full">
|
|
|
- <input type="password" name="userPassword" placeholder="비밀번호 (8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" id="txtPassword"><!-- 잘못기입된 경우 class "err" 추가 -->
|
|
|
|
|
|
|
+ <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" 추가 -->
|
|
|
<!-- case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
|
|
<!-- case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
|
|
|
<div class="help_block">
|
|
<div class="help_block">
|
|
|
<!-- 사용불가 비밀번호일경우 -->
|
|
<!-- 사용불가 비밀번호일경우 -->
|
|
|
<p class="mt10">
|
|
<p class="mt10">
|
|
|
- <span class="c_black2"><i class="ico ico_check black mr5"></i>영문(대/소문자), 숫자, 특수문자 중 2가지 이상 조합(8~20자)</span><br>
|
|
|
|
|
- <span class="c_red2"><i class="ico ico_check red mr5"></i>4개이상 연속되거나 동일한 문자/숫자 제외</span><br>
|
|
|
|
|
- <span class="c_gray"><i class="ico ico_check gray mr5"></i>아이디 제외</span>
|
|
|
|
|
|
|
+ <span class="c_black2">
|
|
|
|
|
+ <i class="ico ico_check black mr5"></i>영문(대/소문자), 숫자, 특수문자 중 2가지 이상 조합(8~20자)<br>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <span class="c_red2">
|
|
|
|
|
+ <i class="ico ico_check red mr5"></i>4개이상 연속되거나 동일한 문자/숫자 제외<br>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <span class="c_gray">
|
|
|
|
|
+ <i class="ico ico_check gray mr5"></i>아이디 제외
|
|
|
|
|
+ </span>
|
|
|
</p>
|
|
</p>
|
|
|
<!-- //사용불가 비밀번호일경우 -->
|
|
<!-- //사용불가 비밀번호일경우 -->
|
|
|
<!-- 사용가능한 비밀번호일경우 -->
|
|
<!-- 사용가능한 비밀번호일경우 -->
|
|
|
<p class="mt10">
|
|
<p class="mt10">
|
|
|
- <span class="c_black2"><i class="ico ico_check black mr5"></i>사용 가능한 비밀번호입니다</span>
|
|
|
|
|
|
|
+ <span class="c_black2">
|
|
|
|
|
+ <i class="ico ico_check black mr5"></i>사용 가능한 비밀번호입니다
|
|
|
|
|
+ </span>
|
|
|
</p>
|
|
</p>
|
|
|
<!-- //사용가능한 비밀번호일경우 -->
|
|
<!-- //사용가능한 비밀번호일경우 -->
|
|
|
</div>
|
|
</div>
|
|
@@ -80,7 +81,7 @@
|
|
|
<div class="form_field">
|
|
<div class="form_field">
|
|
|
<label class="input_label sr-only">비밀번호 확인</label>
|
|
<label class="input_label sr-only">비밀번호 확인</label>
|
|
|
<div class="input_wrap form_full">
|
|
<div class="input_wrap form_full">
|
|
|
- <input type="password" name="userConfirm" placeholder="비밀번호 확인" class="form_control" id="txtConfirm"><!-- 잘못기입된 경우 class "err" 추가 -->
|
|
|
|
|
|
|
+ <input type="password" id="confirmPassword" name="confirmPassword" placeholder="비밀번호 확인" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호"/><!-- 잘못기입된 경우 class "err" 추가 -->
|
|
|
<!-- case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
|
|
<!-- case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
|
|
|
<div class="help_block">
|
|
<div class="help_block">
|
|
|
<!-- 비밀번호확인 틀렸을경우 -->
|
|
<!-- 비밀번호확인 틀렸을경우 -->
|
|
@@ -100,7 +101,7 @@
|
|
|
<div class="form_field">
|
|
<div class="form_field">
|
|
|
<label class="input_label sr-only">이메일</label>
|
|
<label class="input_label sr-only">이메일</label>
|
|
|
<div class="input_wrap form_full">
|
|
<div class="input_wrap form_full">
|
|
|
- <input type="text" name="userEmail" placeholder="이메일" class="form_control" id="txtEmail"><!-- 잘못기입된 경우 class "err" 추가 -->
|
|
|
|
|
|
|
+ <input type="text" id="email" name="email" placeholder="이메일" class="form_control" maxlength="30"/><!-- 잘못기입된 경우 class "err" 추가 -->
|
|
|
<!-- case (이메일 형식이 바르지않을경우,이미 가입되어있는 이메일인경우) -->
|
|
<!-- case (이메일 형식이 바르지않을경우,이미 가입되어있는 이메일인경우) -->
|
|
|
<div class="help_block">
|
|
<div class="help_block">
|
|
|
<!-- 이메일 형식이 바르지않을경우 -->
|
|
<!-- 이메일 형식이 바르지않을경우 -->
|
|
@@ -113,8 +114,12 @@
|
|
|
이미 가입된 이메일 주소입니다. 다른 이메일 주소를 입력하여 주세요.
|
|
이미 가입된 이메일 주소입니다. 다른 이메일 주소를 입력하여 주세요.
|
|
|
</p>
|
|
</p>
|
|
|
<div class="mt20">
|
|
<div class="mt20">
|
|
|
- <button type="button" class="btn btn_default btn_sm"><span>로그인</span></button>
|
|
|
|
|
- <button type="button" class="btn btn_default btn_sm"><span>아이디 찾기</span></button>
|
|
|
|
|
|
|
+ <button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_LOGIN);">
|
|
|
|
|
+ <span>로그인</span>
|
|
|
|
|
+ </button>
|
|
|
|
|
+ <button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_CUSTOMER_ID_FIND);">
|
|
|
|
|
+ <span>아이디 찾기</span>
|
|
|
|
|
+ </button>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- //이미 가입되어있는 이메일인경우 -->
|
|
<!-- //이미 가입되어있는 이메일인경우 -->
|
|
|
</div>
|
|
</div>
|
|
@@ -124,7 +129,7 @@
|
|
|
<div class="form_field">
|
|
<div class="form_field">
|
|
|
<label class="input_label sr-only">휴대폰번호</label>
|
|
<label class="input_label sr-only">휴대폰번호</label>
|
|
|
<div class="input_wrap form_full">
|
|
<div class="input_wrap form_full">
|
|
|
- <input type="text" name="userTell" placeholder="휴대폰번호" class="form_control" id="txtTell">
|
|
|
|
|
|
|
+ <input type="text" id="cellPhnno" name="cellPhnno" placeholder="휴대폰번호" class="form_control"/>
|
|
|
<!-- case (휴대폰번호 형식이 맞지 않을경우,이미 가입되어있는 핸드폰번호일경우) -->
|
|
<!-- case (휴대폰번호 형식이 맞지 않을경우,이미 가입되어있는 핸드폰번호일경우) -->
|
|
|
<div class="help_block">
|
|
<div class="help_block">
|
|
|
<!-- 휴대폰번호 형식이 맞지 않을경우 -->
|
|
<!-- 휴대폰번호 형식이 맞지 않을경우 -->
|
|
@@ -133,7 +138,9 @@
|
|
|
<!-- 이미 가입되어있는 핸드폰번호일경우 -->
|
|
<!-- 이미 가입되어있는 핸드폰번호일경우 -->
|
|
|
<p class="t_err">I***D로 가입된 핸드폰 번호 입니다.</p>
|
|
<p class="t_err">I***D로 가입된 핸드폰 번호 입니다.</p>
|
|
|
<div class="mt20">
|
|
<div class="mt20">
|
|
|
- <button type="button" class="btn btn_default btn_sm"><span>휴대폰 인증</span></button>
|
|
|
|
|
|
|
+ <button type="button" class="btn btn_default btn_sm">
|
|
|
|
|
+ <span>휴대폰 인증</span>
|
|
|
|
|
+ </button>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- //이미 가입되어있는 핸드폰번호일경우 -->
|
|
<!-- //이미 가입되어있는 핸드폰번호일경우 -->
|
|
|
</div>
|
|
</div>
|
|
@@ -145,8 +152,8 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="desc_wrap t_c mt20">
|
|
<div class="desc_wrap t_c mt20">
|
|
|
<p>
|
|
<p>
|
|
|
- 본인은 만 14세 이상이며 <a href="" target="_blank">STYLE24이용약관<i class="ico ico_blank ml5"></i></a>, <a href="" target="_blank">개인정보 수집 및 이용<i class="ico ico_blank ml5"></i></a>,<br>
|
|
|
|
|
- <a href="" target="_blank">개인정보 취급 위탁<i class="ico ico_blank ml5"></i></a> 내용을 확인 하였으며,동의합니다.
|
|
|
|
|
|
|
+ 본인은 만 14세 이상이며 <a href="javascript:void(0)" target="_blank">STYLE24이용약관<i class="ico ico_blank ml5"></i></a>, <a href="javascript:void(0)" target="_blank">개인정보 수집 및 이용<i class="ico ico_blank ml5"></i></a>,<br>
|
|
|
|
|
+ <a href="javascript:void(0)" target="_blank">개인정보 취급 위탁<i class="ico ico_blank ml5"></i></a> 내용을 확인 하였으며,동의합니다.
|
|
|
</p>
|
|
</p>
|
|
|
</div>
|
|
</div>
|
|
|
</form>
|
|
</form>
|
|
@@ -156,8 +163,43 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
+<script th:src="@{'/ux/customer/customer.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/ux/customer/customer.js"></script>
|
|
|
<script th:inline="javascript">
|
|
<script th:inline="javascript">
|
|
|
/*<![CDATA[*/
|
|
/*<![CDATA[*/
|
|
|
|
|
+ // 중복된 아이디 확인
|
|
|
|
|
+ $('#custId').on('blur', function () {
|
|
|
|
|
+ let custId = $(this).val();
|
|
|
|
|
+ if(!gagajf.isNull(custId)) {
|
|
|
|
|
+ let custInfo = {};
|
|
|
|
|
+ custInfo.custId = custId;
|
|
|
|
|
+ let jsonData = JSON.stringify(custInfo);
|
|
|
|
|
+ ajaxJsonSubmit('/customer/id/check', jsonData, fnIdConfirmCallBack)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ var fnIdConfirmCallBack = function (result) {
|
|
|
|
|
+ if (result.isFind) { // 중복된 아이디가 존재
|
|
|
|
|
+ fnDisplayCustIdDiv(false);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ fnDisplayCustIdDiv(true);
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ var fnDisplayCustIdDiv = function (bool) {
|
|
|
|
|
+ let $dupCustIdDiv = $('#dupCustIdDiv');
|
|
|
|
|
+ let $custId = $('#custId');
|
|
|
|
|
+ if (bool) { // 사용가능
|
|
|
|
|
+ $custId.removeClass('err'); //잘못기입된 경우
|
|
|
|
|
+ $custId.addClass('usable');
|
|
|
|
|
+ $('.usable').show();
|
|
|
|
|
+ } else { // 사용가능 하지 않음
|
|
|
|
|
+ $custId.addClass('err'); //잘못기입된 경우
|
|
|
|
|
+ $custId.removeClass('usable');
|
|
|
|
|
+ $dupCustIdDiv.show();
|
|
|
|
|
+ $('.usable').hide();
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
/*]]>*/
|
|
/*]]>*/
|
|
|
</script>
|
|
</script>
|