회원가입 직장주소 추가 > 그누보드5 팁자료실

그누보드5 팁자료실

회원가입 직장주소 추가 정보

회원가입 직장주소 추가

본문

회원가입시 추가필드 mb_4, mb_4, mb_6 를 이용해서 직장주소를 등록하는 팁입니다.
그누보드 순정버전과 아미나(Amina) 버전용을 아래에 각각 작성했습니다.


[ 그누보드5 ]
/그누보드5 / skin / member / basic / register_form.skin.php 에 내용 추가

        <tr>
            <th scope="row">직장주소</th>
            <td>
                <label for="reg_mb_zip2" class="sound_only">우편번호</label>
                <input type="text" name="mb_4" value="<?php echo $member['mb_4']; ?>" id="reg_mb_zip2" size="5" maxlength="6">
                <button type="button" class="btn_frmline" onclick="win_zip2('fregisterform', 'mb_4', 'mb_5', 'mb_6');">주소 검색</button><br>
                <input type="text" name="mb_5" value="<?php echo get_text($member['mb_5']) ?>" id="reg_mb_addr12" class="frm_input frm_address" size="50">
                <label for="reg_mb_addr1">기본주소</label><br>
                <input type="text" name="mb_6" value="<?php echo get_text($member['mb_6']) ?>" id="reg_mb_addr22" class="frm_input frm_address" size="50">
                <label for="reg_mb_addr2">상세주소</label>
            </td>
        </tr>
        <script>
        /**
        * 우편번호 창
        **/
        var win_zip2 = function(frm_name, frm_zip, frm_addr1, frm_addr2) {
            if(typeof daum === 'undefined'){
                alert(aslang[20]); //다음 우편번호 postcode.v2.js 파일이 로드되지 않았습니다.
                return false;
            }
       
            var zip_case = 1;  //0이면 레이어, 1이면 페이지에 끼워 넣기, 2이면 새창
       
            var complete_fn = function(data){
                // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
       
                // 각 주소의 노출 규칙에 따라 주소를 조합한다.
                // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
                var fullAddr = ''; // 최종 주소 변수
                var extraAddr = ''; // 조합형 주소 변수
       
                // 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
                if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
                    fullAddr = data.roadAddress;
       
                } else { // 사용자가 지번 주소를 선택했을 경우(J)
                    fullAddr = data.jibunAddress;
                }
       
                // 사용자가 선택한 주소가 도로명 타입일때 조합한다.
                if(data.userSelectedType === 'R'){
                    //법정동명이 있을 경우 추가한다.
                    if(data.bname !== ''){
                        extraAddr += data.bname;
                    }
                    // 건물명이 있을 경우 추가한다.
                    if(data.buildingName !== ''){
                        extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
                    }
                    // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
                    extraAddr = (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
                }
       
                // 우편번호와 주소 정보를 해당 필드에 넣고, 커서를 상세주소 필드로 이동한다.
                var of = document[frm_name];
       
                of[frm_zip].value = data.zonecode;
       
                of[frm_addr1].value = fullAddr;
       
                of[frm_addr2].focus();
            };
       
            switch(zip_case) {
                case 1 :    //iframe을 이용하여 페이지에 끼워 넣기
                    var daum_pape_id = 'daum_juso_page'+frm_zip,
                        element_wrap = document.getElementById(daum_pape_id),
                        currentScroll = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
                    if (element_wrap == null) {
                        element_wrap = document.createElement("div");
                        element_wrap.setAttribute("id", daum_pape_id);
                        element_wrap.style.cssText = 'display:none;border:1px solid;left:0;width:100%;height:300px;margin:5px 0;position:relative;-webkit-overflow-scrolling:touch;';
                        element_wrap.innerHTML = '<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnFoldWrap" style="cursor:pointer;position:absolute;right:0px;top:-21px;z-index:1" class="close_daum_juso" alt="접기 버튼">';
                        jQuery('form[name="'+frm_name+'"]').find('input[name="'+frm_addr1+'"]').before(element_wrap);
                        jQuery("#"+daum_pape_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
                            e.preventDefault();
                            jQuery(this).parent().hide();
                        });
                    }
       
                    new daum.Postcode({
                        oncomplete: function(data) {
                            complete_fn(data);
                            // iframe을 넣은 element를 안보이게 한다.
                            element_wrap.style.display = 'none';
                            // 우편번호 찾기 화면이 보이기 이전으로 scroll 위치를 되돌린다.
                            document.body.scrollTop = currentScroll;
                        },
                        // 우편번호 찾기 화면 크기가 조정되었을때 실행할 코드를 작성하는 부분.
                        // iframe을 넣은 element의 높이값을 조정한다.
                        onresize : function(size) {
                            element_wrap.style.height = size.height + "px";
                        },
                        width : '100%',
                        height : '100%'
                    }).embed(element_wrap);
       
                    // iframe을 넣은 element를 보이게 한다.
                    element_wrap.style.display = 'block';
                    break;
                case 2 :    //새창으로 띄우기
                    new daum.Postcode({
                        oncomplete: function(data) {
                            complete_fn(data);
                        }
                    }).open();
                    break;
                default :  //iframe을 이용하여 레이어 띄우기
                    var rayer_id = 'daum_juso_rayer'+frm_zip,
                        element_layer = document.getElementById(rayer_id);
                    if (element_layer == null) {
                        element_layer = document.createElement("div");
                        element_layer.setAttribute("id", rayer_id);
                        element_layer.style.cssText = '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;z-index:10000';
                        element_layer.innerHTML = '<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnCloseLayer" style="cursor:pointer;position:absolute;right:-3px;top:-3px;z-index:1" class="close_daum_juso" alt="닫기 버튼">';
                        document.body.appendChild(element_layer);
                        jQuery("#"+rayer_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
                            e.preventDefault();
                            jQuery(this).parent().hide();
                        });
                    }
       
                    new daum.Postcode({
                        oncomplete: function(data) {
                            complete_fn(data);
                            // iframe을 넣은 element를 안보이게 한다.
                            element_layer.style.display = 'none';
                        },
                        width : '100%',
                        height : '100%'
                    }).embed(element_layer);
       
                    // iframe을 넣은 element를 보이게 한다.
                    element_layer.style.display = 'block';
            }
        }
        </script>



[ Amina 빌더 ]
/그누보드5 / skin / member / basic / register_form.skin.php 에 내용 추가

            <div class="form-group has-feedback">
                <label class="col-sm-2 control-label"><b>직장주소</b></label>
                <div class="col-sm-8">
                    <label for="reg_mb_zip2" class="sound_only">우편번호</label>
                    <label>
                    <input type="text" name="mb_4" value="<?php echo $member['mb_4'] ?>" id="reg_mb_zip2" class="form-control input-sm" size="6" maxlength="6">
                    </label>
                    <label>
                        <button type="button" class="btn btn-black btn-sm win_zip_find" style="margin-top:0px;" onclick="win_zip2('fregisterform', 'mb_4', 'mb_5', 'mb_6');">주소 검색</button>
                    </label>
           
                    <div class="addr-line">
                        <label class="sound_only" for="reg_mb_addr12">기본주소</label>
                        <input type="text" name="mb_5" value="<?php echo get_text($member['mb_5']) ?>" id="reg_mb_addr12" class="form-control input-sm" size="50" placeholder="기본주소">
                    </div>
           
                    <div class="addr-line">
                        <label class="sound_only" for="reg_mb_addr22">상세주소</label>
                        <input type="text" name="mb_6" value="<?php echo get_text($member['mb_6']) ?>" id="reg_mb_addr22" class="form-control input-sm" size="50" placeholder="상세주소">
                    </div>
                </div>
            </div>
            <script>
            /**
            * 우편번호 창
            **/
            var win_zip2 = function(frm_name, frm_zip, frm_addr1, frm_addr2) {
                if(typeof daum === 'undefined'){
                    alert(aslang[20]); //다음 우편번호 postcode.v2.js 파일이 로드되지 않았습니다.
                    return false;
                }
           
                var zip_case = 1;  //0이면 레이어, 1이면 페이지에 끼워 넣기, 2이면 새창
           
                var complete_fn = function(data){
                    // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
           
                    // 각 주소의 노출 규칙에 따라 주소를 조합한다.
                    // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
                    var fullAddr = ''; // 최종 주소 변수
                    var extraAddr = ''; // 조합형 주소 변수
           
                    // 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
                    if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
                        fullAddr = data.roadAddress;
           
                    } else { // 사용자가 지번 주소를 선택했을 경우(J)
                        fullAddr = data.jibunAddress;
                    }
           
                    // 사용자가 선택한 주소가 도로명 타입일때 조합한다.
                    if(data.userSelectedType === 'R'){
                        //법정동명이 있을 경우 추가한다.
                        if(data.bname !== ''){
                            extraAddr += data.bname;
                        }
                        // 건물명이 있을 경우 추가한다.
                        if(data.buildingName !== ''){
                            extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
                        }
                        // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
                        extraAddr = (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
                    }
           
                    // 우편번호와 주소 정보를 해당 필드에 넣고, 커서를 상세주소 필드로 이동한다.
                    var of = document[frm_name];
           
                    of[frm_zip].value = data.zonecode;
           
                    of[frm_addr1].value = fullAddr;
           
                    of[frm_addr2].focus();
                };
           
                switch(zip_case) {
                    case 1 :    //iframe을 이용하여 페이지에 끼워 넣기
                        var daum_pape_id = 'daum_juso_page'+frm_zip,
                            element_wrap = document.getElementById(daum_pape_id),
                            currentScroll = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
                        if (element_wrap == null) {
                            element_wrap = document.createElement("div");
                            element_wrap.setAttribute("id", daum_pape_id);
                            element_wrap.style.cssText = 'display:none;border:1px solid;left:0;width:100%;height:300px;margin:5px 0;position:relative;-webkit-overflow-scrolling:touch;';
                            element_wrap.innerHTML = '<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnFoldWrap" style="cursor:pointer;position:absolute;right:0px;top:-21px;z-index:1" class="close_daum_juso" alt="접기 버튼">';
                            jQuery('form[name="'+frm_name+'"]').find('input[name="'+frm_addr1+'"]').before(element_wrap);
                            jQuery("#"+daum_pape_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
                                e.preventDefault();
                                jQuery(this).parent().hide();
                            });
                        }
           
                        new daum.Postcode({
                            oncomplete: function(data) {
                                complete_fn(data);
                                // iframe을 넣은 element를 안보이게 한다.
                                element_wrap.style.display = 'none';
                                // 우편번호 찾기 화면이 보이기 이전으로 scroll 위치를 되돌린다.
                                document.body.scrollTop = currentScroll;
                            },
                            // 우편번호 찾기 화면 크기가 조정되었을때 실행할 코드를 작성하는 부분.
                            // iframe을 넣은 element의 높이값을 조정한다.
                            onresize : function(size) {
                                element_wrap.style.height = size.height + "px";
                            },
                            width : '100%',
                            height : '100%'
                        }).embed(element_wrap);
           
                        // iframe을 넣은 element를 보이게 한다.
                        element_wrap.style.display = 'block';
                        break;
                    case 2 :    //새창으로 띄우기
                        new daum.Postcode({
                            oncomplete: function(data) {
                                complete_fn(data);
                            }
                        }).open();
                        break;
                    default :  //iframe을 이용하여 레이어 띄우기
                        var rayer_id = 'daum_juso_rayer'+frm_zip,
                            element_layer = document.getElementById(rayer_id);
                        if (element_layer == null) {
                            element_layer = document.createElement("div");
                            element_layer.setAttribute("id", rayer_id);
                            element_layer.style.cssText = '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;z-index:10000';
                            element_layer.innerHTML = '<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnCloseLayer" style="cursor:pointer;position:absolute;right:-3px;top:-3px;z-index:1" class="close_daum_juso" alt="닫기 버튼">';
                            document.body.appendChild(element_layer);
                            jQuery("#"+rayer_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
                                e.preventDefault();
                                jQuery(this).parent().hide();
                            });
                        }
           
                        new daum.Postcode({
                            oncomplete: function(data) {
                                complete_fn(data);
                                // iframe을 넣은 element를 안보이게 한다.
                                element_layer.style.display = 'none';
                            },
                            width : '100%',
                            height : '100%'
                        }).embed(element_layer);
           
                        // iframe을 넣은 element를 보이게 한다.
                        element_layer.style.display = 'block';
                }
            }
            </script>
추천
0

댓글 0개

전체 2,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT