쇼핑몰 만드는 팀프로젝트중인데

주소 연동 api를 적용시켜야하거든

제가 좀 수업을 좀 빠져서 잘 모르는게 많아서

먼저 구글에 알아보라고 하길래 좀 급하게 물어봅니다.

회원가입, 회원수정, 구매페이지에서 자기 집주소 입력하는 api를 담당했는데요

회원가입 페이지는 다른 블로그를 참조해가며 다음에서 제공하는 주소 api를 활용해서

완성했습니다.

회원가입시에는 그냥 id를 정의했습니다.

아래처럼요.

<tr>

<th>주소지</th>

<td>

<input type="text" name="t_addr1" id="addr1" placeholder="우편번호를 입력하세요" style="width:70%;display:inline;" readonly>

<input type="button" onclick="address_confirm()" value="주소 검색 ">

<input type="text" name="t_addr2" id="addr2" placeholder="주소를 입력하세요" readonly>

<input type="text" name="t_addr3" id="addr3" placeholder="상세주소를 입력하세요">

</td>

</tr>

이렇게 구조를 짜고 id값 정의해줘서

api 자바스크립트 영역에서는

function address_confirm(){

 === 중간 코드 생략 ===

    // 우편번호와 주소 정보를 해당 필드에 넣는다.

                    $("#addr1").val(data.zonecode);

            //$("[name=memberAddr1]").val(data.zonecode);    // 대체가능

            $("#addr2").val(addr);

            //$("[name=memberAddr2]").val(addr);            // 대체가능

 

            // 상세주소 입력란 disabled 속성 변경 및 커서를 상세주소 필드로 이동한다.

                       $("#addr3").attr("readonly",false);

                        $("#addr3").focus();

            }



이렇게 했는데



그다음 회원정보를 수정하는 페이지도 작업을 해야하는데

말그대로 이미 가입했을때 등록된 정보를 불러오니까

dto.java가 활용됩니다.

그래서 여기는 가입페이지와 다르게


<tr>

<th>주소지</th>

<td>

<input type="text" name="t_addr1" value="${t_dto.getAddr1() }" placeholder="우편번호를 입력하세요" style="width:70%;display:inline;" readonly>

<input type="button" onclick="address_confirm()" value="주소 검색">

<input type="text" name="t_addr2" value="${t_dto.getAddr2() }" readonly>

<input type="text" name="t_addr3" value="${t_dto.getAddr3() }">

</td>

</tr>


이렇게 밸류값이 ${t_dto.getAddr1() } 이렇게 되어있습니다.


그러면


자바 스크립트에서 아까 저부분을



//우편번호와 주소 정보를 해당 필드에 넣는다.

${t_dto.getAddr1()}.val(data.zonecode);

//$("[name=memberAddr1]").val(data.zonecode); // 대체가능

${t_dto.getAddr2()}.val(addr);

//$("[name=memberAddr2]").val(addr); // 대체가능

// 상세주소 입력란 disabled 속성 변경 및 커서를 상세주소 필드로 이동한다.

${t_dto.getAddr3()}.attr("readonly",false);

${t_dto.getAddr3()}.focus();

}

}).open();

}

이런식으로 바꿔도되나요?


dto값이 있어서 저렇게 value= 부분을 그대로 복사해서 저렇게 대체해줘야하는건지..

아니면 어차피 주소 검색하면 아예 바뀌는거니까 여기도 id 넣어줘서

join.jsp때처럼 똑같이 하면 되는건지요?


#addr1 이걸

${t_dto.getAddr1()}이걸로 그냥 대체한건데 (value값이 이렇게 되어있으니까)

어차피 주소가 바뀔거라면 그냥 id를 넣고 하는게 맞는지..

아니면 저렇게 해도 상관은 없는지?? 궁금합니다.


아니면


<tr>

<th>주소지</th>

<td>

<input type="text" name="t_addr1" id=addr1 value="${t_dto.getAddr1() }" placeholder="우편번호를 입력하세요" style="width:70%;display:inline;" readonly>

<input type="button" onclick="address_confirm()" value="주소 검색">

<input type="text" name="t_addr2" id=addr2value="${t_dto.getAddr2() }" readonly>

<input type="text" name="t_addr3" id=addr3 value="${t_dto.getAddr3() }">

</td>

</tr>


이렇게 그냥 id를 정의해주고 기존 방식대로 하는게 맞을까요?