[G5] 회원가입 직장주소 추가 > 기술자료 | 해피정닷컴

[G5] 회원가입 직장주소 추가 > 기술자료

본문 바로가기

사이트 내 전체검색

[G5] 회원가입 직장주소 추가 > 기술자료

그누보드 [G5] 회원가입 직장주소 추가

페이지 정보


본문

회원가입시 추가필드 mb_4, mb_4, mb_6 를 이용해서 직장주소를 등록하는 팁입니다.


1. 그누보드5 / js / common.js 에 적당한 위치에 내용추가
기존 우편번호 찾기는 win_zip 이므로  win_zip2 라는 함수를 추가합니다.

var win_zip2 = function(frm_name2, frm_zip2, frm_addr21, frm_addr22) {
    if(typeof daum === 'undefined'){
        alert("다음 우편번호 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);
            }
            // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
            fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
        }

        // 우편번호와 주소 정보를 해당 필드에 넣고, 커서를 상세주소 필드로 이동한다.
        var of = document[frm_name2];

        of[frm_zip2].value = data.zonecode;

        of[frm_addr21].value = fullAddr;

        of[frm_addr22].focus();
    };

    switch(zip_case) {
        case 1 :    //iframe을 이용하여 페이지에 끼워 넣기
            var daum_pape_id = 'daum_juso_page'+frm_zip2,
                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_name2+'"]').find('input[name="'+frm_addr21+'"]').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_zip2,
                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';
    }
}



2-1. /그누보드5 / skin / member / basic / register_form.skin.php 에 내용 추가

        <tr>
            <th scope="row">직장주소</th>
            <td>
                <label for="mb_4" class="sound_only">우편번호</label>
                <input type="text" name="mb_4" value="<?php echo $member['mb_4']; ?>" id="mb_4" 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="mb_5" class="frm_input frm_address" size="50">
                <label for="mb_5">기본주소</label><br>
                <input type="text" name="mb_6" value="<?php echo get_text($member['mb_6']) ?>" id="mb_6" class="frm_input frm_address" size="50">
                <label for="mb_6">상세주소</label>
            </td>
        </tr>


2-2. 아미나 빌더사용중일때는 아래 코드 사용

            <div class="form-group has-feedback">
                <label class="col-sm-2 control-label"><b>직장주소</b></label>
                <div class="col-sm-8">
                    <label for="mb_4" class="sound_only">우편번호</label>
                    <label>
                    <input type="text" name="mb_4" value="<?php echo $member['mb_4'] ?>" id="mb_4" 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="mb_5">기본주소</label>
                        <input type="text" name="mb_5" value="<?php echo get_text($member['mb_5']) ?>" id="mb_5" class="form-control input-sm" size="50" placeholder="기본주소">
                    </div>
            
                    <div class="addr-line">
                        <label class="sound_only" for="mb_6">상세주소</label>
                        <input type="text" name="mb_6" value="<?php echo get_text($member['mb_6']) ?>" id="mb_6" class="form-control input-sm" size="50" placeholder="상세주소">
                    </div>
                </div>
            </div>

댓글목록

등록된 댓글이 없습니다.


Total 2,633건 7 페이지
  • RSS
기술자료 목록
2513
일반   5045  2021-12-15 11:20  
2512
etc언어   12469  2021-12-14 19:14 ~ 2021-12-14 20:09  
2511
그누보드   3769  2021-12-14 07:05  
2510
전자결제   4782  2021-12-10 08:37 ~ 2021-12-10 08:37  
2509
전자결제   4675  2021-12-10 08:11 ~ 2021-12-10 08:51  
2508
MySQL   4994  2021-12-08 19:53  
2507
Oracle   3961  2021-12-08 18:49 ~ 2021-12-08 19:30  
2506
MySQL   4410  2021-12-08 18:43 ~ 2021-12-08 19:43  
2505
MySQL   4417  2021-12-05 00:09 ~ 2021-12-08 19:42  
2504
Oracle   4668  2021-12-02 08:59 ~ 2021-12-02 14:59  
2503
MySQL   4707  2021-12-02 08:36 ~ 2021-12-02 14:57  
2502
JavaScript   4593  2021-11-26 20:23  
2501
MySQL   6831  2021-11-24 00:17 ~ 2021-11-24 00:22  
2500
그누보드   4424  2021-11-21 05:59 ~ 2021-11-24 00:20  
2499
전자결제   3495  2021-11-19 12:07 ~ 2021-11-19 14:51  
2498
HTML   7891  2021-11-18 16:00  
2497
PHP   4147  2021-11-09 17:52 ~ 2021-11-09 17:57  
2496
MySQL   3832  2021-11-08 16:13 ~ 2021-11-08 17:29  
2495
일반   4533  2021-11-06 01:29 ~ 2021-11-06 09:23  
2494
ClassicASP   4264  2021-11-01 02:08 ~ 2021-11-01 02:40  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: 서울센터 (08393) 서울시 구로구 디지털로32가길 16 파트너스타워2차 1206-280호
        대전센터 (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 지원1동 205호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 2014-서울구로-0074 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.