쇼핑몰 만드는 팀프로젝트중인데
주소 연동 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를 정의해주고 기존 방식대로 하는게 맞을까요?
댓글 0