Skip to content

Commit 8f97df8

Browse files
committed
daum postcode api
1 parent a2af8fd commit 8f97df8

File tree

2 files changed

+67
-4
lines changed

2 files changed

+67
-4
lines changed

views/admin/sidebar.ejs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<div class="col-sm-2">
2+
<div class="panel panel-default">
3+
<div class="panel-heading">메뉴</div>
4+
<div class="panel-body">
5+
<ul>
6+
<li><a href="/admin/products">제품리스트</a></li>
7+
<li><a href="/admin/order">주문리스트</a></li>
8+
</ul>
9+
</div>
10+
</div>
11+
</div>

views/checkout/index.ejs

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,20 @@
6060
<tr>
6161
<th>주소</th>
6262
<td>
63-
<input type="text" name="buyer_addr" class="form-control" />
63+
<input type="text" name="buyer_addr" class="form-control" readonly/>
64+
</td>
65+
</tr>
66+
<tr>
67+
<th>상세주소</th>
68+
<td>
69+
<input type="text" name="detail_addr" class="form-control" />
6470
</td>
6571
</tr>
6672
<tr>
6773
<th>우편번호</th>
6874
<td>
69-
<input type="text" name="buyer_postcode" class="form-control" placeholder="000-000" />
75+
<input type="text" name="buyer_postcode" class="form-control" placeholder="000-000" readonly />
76+
<span style="margin-top:10px" class="btn btn-primary" onclick="setDaumPostcode()">우편번호 찾기</span>
7077
</td>
7178
</tr>
7279
</tbody>
@@ -75,16 +82,18 @@
7582
<button class="btn btn-primary">구매하기</button>
7683
</div>
7784
</form>
85+
<!--Iamport 결제 연동-->
7886
<script type="text/javascript" src="https://service.iamport.kr/js/iamport.payment-1.1.2.js"></script>
79-
87+
<!--주소록 연동-->
88+
<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>
8089
<script>
8190
$(document).ready(function(){
8291
$('#orderForm').submit(function(){
8392
var amount = <%=totalAmount%>;
8493
var buyer_email = $('input[name=buyer_email]').val();
8594
var buyer_name = $('input[name=buyer_name]').val();
8695
var buyer_tel = $('input[name=buyer_tel]').val();
87-
var buyer_addr = $('input[name=buyer_addr]').val();
96+
var buyer_addr = $('input[name=buyer_addr]').val() + ' / ' + $('input[name=detail_addr]').val();//주소+상세주소
8897
var buyer_postcode = $('input[name=buyer_postcode]').val();
8998
9099
var IMP = window.IMP;
@@ -142,6 +151,49 @@ $(document).ready(function(){
142151
return false;
143152
});
144153
});
154+
155+
function setDaumPostcode() {
156+
new daum.Postcode({
157+
oncomplete: function(data) {
158+
// 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
159+
160+
// 각 주소의 노출 규칙에 따라 주소를 조합한다.
161+
// 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
162+
var fullAddr = ''; // 최종 주소 변수
163+
var extraAddr = ''; // 조합형 주소 변수
164+
165+
// 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
166+
if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
167+
fullAddr = data.roadAddress;
168+
169+
} else { // 사용자가 지번 주소를 선택했을 경우(J)
170+
fullAddr = data.jibunAddress;
171+
}
172+
173+
// 사용자가 선택한 주소가 도로명 타입일때 조합한다.
174+
if(data.userSelectedType === 'R'){
175+
//법정동명이 있을 경우 추가한다.
176+
if(data.bname !== ''){
177+
extraAddr += data.bname;
178+
}
179+
// 건물명이 있을 경우 추가한다.
180+
if(data.buildingName !== ''){
181+
extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
182+
}
183+
// 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
184+
fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
185+
}
186+
187+
// 우편번호와 주소 정보를 해당 필드에 넣는다.
188+
$('input[name=buyer_postcode]').val(data.zonecode);
189+
$('input[name=buyer_addr]').val(fullAddr);
190+
191+
// 커서를 상세주소 필드로 이동한다.
192+
$('input[name=detail_addr]').focus();
193+
}
194+
}).open();
195+
}
196+
145197
</script>
146198

147199
<% include ../footer.ejs %>

0 commit comments

Comments
 (0)