[그누5] 글쓰기란에 주소입력 기능을 넣고 싶습니다.
본문
<tr>
<th scope="row"><label for="mb_zip1">주소</label></th>
<td colspan="3" style="line-height:2em">
<input type="text" name="mb_zip1" value="<?php echo $mb['mb_zip1'] ?>" id="mb_zip1" title="우편번호 앞자리" class="frm_input readonly" size="3" maxlength="3"> -
<input type="text" name="mb_zip2" value="<?php echo $mb['mb_zip2'] ?>" id="mb_zip2" title="우편번호 뒷자리" class="frm_input readonly" size="3" maxlength="3">
<span id="win_zip" style="display:block"></span>
<input type="text" name="mb_addr1" value="<?php echo $mb['mb_addr1'] ?>" id="mb_addr1" title="행정기본주소" class="frm_input readonly" size="50"><br>
<input type="text" name="mb_addr2" value="<?php echo $mb['mb_addr2'] ?>" id="mb_addr2" title="상세주소" class="frm_input" size="50"> 상세주소 입력
<script>
// 우편번호 자바스크립트 비활성화 대응을 위한 코드
$('<a href="<?php echo G5_BBS_URL ?>/zip.php?frm_name=fmember&frm_zip1=mb_zip1&frm_zip2=mb_zip2&frm_addr1=mb_addr1&frm_addr2=mb_addr2" id="win_zip" class="win_zip_find btn_frmline" target="_blank">우편번호 검색</a><br>').appendTo('#win_zip');
$('#win_zip').css('display','inline');
$('#mb_zip1,#mb_zip2,#mb_addr1').attr('readonly','readonly');
</script>
</td>
</tr>
회원정보 수정에서 발췌한 소스입니다만,
이 소스 그대로 스킨 write 파일에 삽입시 팝업창까지는 뜨지만 주소 검색 후 필드에 입력이 되지 않았습니다.
뭔가 스크립트가 작동하지 않는 것 같은 느낌인데 어떤 부분을 추가해야 기능이 정상적으로 동작할까요?
혹시 아시는 분 계시면 답변 부탁드립니다. (_ _)
<th scope="row"><label for="mb_zip1">주소</label></th>
<td colspan="3" style="line-height:2em">
<input type="text" name="mb_zip1" value="<?php echo $mb['mb_zip1'] ?>" id="mb_zip1" title="우편번호 앞자리" class="frm_input readonly" size="3" maxlength="3"> -
<input type="text" name="mb_zip2" value="<?php echo $mb['mb_zip2'] ?>" id="mb_zip2" title="우편번호 뒷자리" class="frm_input readonly" size="3" maxlength="3">
<span id="win_zip" style="display:block"></span>
<input type="text" name="mb_addr1" value="<?php echo $mb['mb_addr1'] ?>" id="mb_addr1" title="행정기본주소" class="frm_input readonly" size="50"><br>
<input type="text" name="mb_addr2" value="<?php echo $mb['mb_addr2'] ?>" id="mb_addr2" title="상세주소" class="frm_input" size="50"> 상세주소 입력
<script>
// 우편번호 자바스크립트 비활성화 대응을 위한 코드
$('<a href="<?php echo G5_BBS_URL ?>/zip.php?frm_name=fmember&frm_zip1=mb_zip1&frm_zip2=mb_zip2&frm_addr1=mb_addr1&frm_addr2=mb_addr2" id="win_zip" class="win_zip_find btn_frmline" target="_blank">우편번호 검색</a><br>').appendTo('#win_zip');
$('#win_zip').css('display','inline');
$('#mb_zip1,#mb_zip2,#mb_addr1').attr('readonly','readonly');
</script>
</td>
</tr>
회원정보 수정에서 발췌한 소스입니다만,
이 소스 그대로 스킨 write 파일에 삽입시 팝업창까지는 뜨지만 주소 검색 후 필드에 입력이 되지 않았습니다.
뭔가 스크립트가 작동하지 않는 것 같은 느낌인데 어떤 부분을 추가해야 기능이 정상적으로 동작할까요?
혹시 아시는 분 계시면 답변 부탁드립니다. (_ _)
답변 2
회원쪽과 게시판쪽은 다른 부분이 있습니다. 그부분을 맞쳐주셔야 합니다.
단순히 질문하신 내용처럼 주소검색창 띄워서 주소를 클릭했을때 값이 입력되게 하려면 폼네임만 맞쳐주면 됩니다.
링크 부분을 보면 <a href="<?php echo G5_BBS_URL ?>/zip.php?frm_name=fmember 로 시작을 합니다. 여기서 폼네임은 fmember로 지정이 되어있는데 게시판 글쓰기의 폼네임은 fwrite입니다. 그러니까 fmember을 fwrite로 고쳐주면 일단 값은 입력이 될겁니다.
하지만 진짜 문제는 그 다음인데요 회원 테이블과 게시판 테이블의 필드네임이 서로 다르기 때문에 주소가 DB에 저장이 되지 않을겁니다. 그부분을 다시 게시판에 맞게 맞쳐주셔야 합니다.
예를들어 우편번호 앞자리를 여분필드1(wr_1)에 저장을 한다고 가정하면 입력란은 아래처럼 수정하고
<input type="text" name="wr_1" value="<?php echo $write['wr_1'] ?>" id="wr_1" title="우편번호 앞자리" class="frm_input readonly" size="3" maxlength="3">
링크는 아래처럼 수정해줘야 합니다.
<a href="<?php echo G5_BBS_URL ?>/zip.php?frm_name=fwrite&frm_zip1=wr_1 (이하생략)
만약 여분필드가 모자라면 배열로 넣어주셔야합니다.
단순히 질문하신 내용처럼 주소검색창 띄워서 주소를 클릭했을때 값이 입력되게 하려면 폼네임만 맞쳐주면 됩니다.
링크 부분을 보면 <a href="<?php echo G5_BBS_URL ?>/zip.php?frm_name=fmember 로 시작을 합니다. 여기서 폼네임은 fmember로 지정이 되어있는데 게시판 글쓰기의 폼네임은 fwrite입니다. 그러니까 fmember을 fwrite로 고쳐주면 일단 값은 입력이 될겁니다.
하지만 진짜 문제는 그 다음인데요 회원 테이블과 게시판 테이블의 필드네임이 서로 다르기 때문에 주소가 DB에 저장이 되지 않을겁니다. 그부분을 다시 게시판에 맞게 맞쳐주셔야 합니다.
예를들어 우편번호 앞자리를 여분필드1(wr_1)에 저장을 한다고 가정하면 입력란은 아래처럼 수정하고
<input type="text" name="wr_1" value="<?php echo $write['wr_1'] ?>" id="wr_1" title="우편번호 앞자리" class="frm_input readonly" size="3" maxlength="3">
링크는 아래처럼 수정해줘야 합니다.
<a href="<?php echo G5_BBS_URL ?>/zip.php?frm_name=fwrite&frm_zip1=wr_1 (이하생략)
만약 여분필드가 모자라면 배열로 넣어주셔야합니다.
여분필드를 사용하고 있지 않다는 가정 하에 다음과 같이 해보세요.
다음처럼 사용하시면 될겁니다.
<tr>
<th scope="row"><label for="mb_zip1">주소</label></th>
<td colspan="3" style="line-height:2em">
<input type="text" name="wr_1" value="<?php echo $mb['mb_zip1'] ?>" id="mb_zip1" title="우편번호 앞자리" class="frm_input readonly" size="3" maxlength="3"> -
<input type="text" name="wr_2" value="<?php echo $mb['mb_zip2'] ?>" id="mb_zip2" title="우편번호 뒷자리" class="frm_input readonly" size="3" maxlength="3">
<span id="win_zip" style="display:block"></span>
<input type="text" name="wr_3" value="<?php echo $mb['mb_addr1'] ?>" id="mb_addr1" title="행정기본주소" class="frm_input readonly" size="50"><br>
<input type="text" name="wr_4" value="<?php echo $mb['mb_addr2'] ?>" id="mb_addr2" title="상세주소" class="frm_input" size="50"> 상세주소 입력
<script>
// 우편번호 자바스크립트 비활성화 대응을 위한 코드
$('<a href="<?php echo G5_BBS_URL ?>/zip.php?frm_name=fmember&frm_zip1=mb_zip1&frm_zip2=mb_zip2&frm_addr1=mb_addr1&frm_addr2=mb_addr2" id="win_zip" class="win_zip_find btn_frmline" target="_blank">우편번호 검색</a><br>').appendTo('#win_zip');
$('#win_zip').css('display','inline');
$('#mb_zip1,#mb_zip2,#mb_addr1').attr('readonly','readonly');
</script>
</td>
</tr>
다음처럼 사용하시면 될겁니다.
echo $list[$i]['wr_1']; // 리스트 출력
echo $view['wr_1']; // 뷰페이지 출력
답변을 작성하시기 전에 로그인 해주세요.