- 정보공유
[그누보드팁] 그누보드5 모바일에 레이어로 Daum 우편번호 찾기 API 연동 하기.
관련파일 : skin/member/basic/register_form.skin.php
<a href="<?php echo G5_BBS_URL ?>/zip.php?frm_name=fregisterform&frm_zip1=mb_zip1&frm_zip2=mb_zip2&frm_addr1=mb_addr1&frm_addr2=mb_addr2&frm_addr3=mb_addr3&frm_jibeon=mb_addr_jibeon" id="reg_zip_find" class="btn_frmline win_zip_find" target="_blank">주소 검색</a><br>
를
<a href="javascript:showDaumPostcode;" id="reg_zip_find" class="btn_frmline">주소 검색</a><br>
로 변경.
이때 a 태그에 들어있던 win_zip_find 클래스를 삭제하는것이 포인트 입니다.
삭제를 안하면 기존 win_zip_find click 이벤트와 충돌이 납니다.
그리고 맨 하단에 아래 자바스크립트 코드를 추가합니다.
<div id="layer" style="display:none;border:5px solid;position:fixed;width:300px;height:460px;left:50%;margin-left:-155px;top:50%;margin-top:-235px;overflow:hidden;-webkit-overflow-scrolling:touch;">
<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnCloseLayer" style="cursor:pointer;position:absolute;right:-3px;top:-3px" onclick="closeDaumPostcode()" alt="닫기 버튼">
</div>
<script src="http://dmaps.daum.net/map_js_init/postcode.js"></script>
<script>
// 우편번호 찾기 iframe을 넣을 element
var element = document.getElementById('layer');
function closeDaumPostcode() {
// iframe을 넣은 element를 안보이게 한다.
element.style.display = 'none';
}
function showDaumPostcode() {
new daum.Postcode({
oncomplete: function(data) {
// 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 우편번호와 주소 및 영문주소 정보를 해당 필드에 넣는다.
document.getElementById('reg_mb_zip1').value = data.postcode1;
document.getElementById('reg_mb_zip2').value = data.postcode2;
document.getElementById('reg_mb_addr1').value = data.address;
document.getElementById('reg_mb_addr2').focus();
document.getElementById('reg_mb_addr3').value = data.addressEnglish;
// iframe을 넣은 element를 안보이게 한다.
element.style.display = 'none';
},
width : '100%',
height : '100%'
}).embed(element);
// iframe을 넣은 element를 보이게 한다.
element.style.display = 'block';
}
</script>