fix : 쇼핑몰 주문결제화면 - 배송지 정합성 검사(모바일)

This commit is contained in:
이대환
2026-03-30 14:41:48 +09:00
parent f248c38d72
commit 3a00e1ab65
4 changed files with 104 additions and 35 deletions

View File

@@ -2794,7 +2794,7 @@
const required = requiredMap[dlvylcAreaCd];
if (required) {
const $input = $('input.new[name="' + required + '"]');
const $input = $('#' + required);
const title = $input.attr('title');
const value = $input.val();
@@ -3668,7 +3668,7 @@
<input type="hidden" id="dlvylcAdresDvCd" class="dft" value="<c:out value="${dftDlvylc.adresDv}"/>">
<input type="hidden" id="dlvylcZip" class="dft" value="<c:out value="${dftDlvylc.zip}"/>">
<input type="hidden" id="dlvylcAreaCd" class="dft" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
<input type="hidden" id="prefcd" class="dft" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" id="prefcd" class="dft" title="도도부현코드" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" id="dlvylcLnbAdres" class="dft" value="<c:out value="${dftDlvylc.lnbAdres}"/>">
<input type="hidden" id="dlvylcRnmAdres" class="dft" value="<c:out value="${dftDlvylc.rnmAdres}"/>">
<input type="hidden" id="dlvylcAdresDtl" class="dft" value="<c:out value="${dftDlvylc.dtlAdres}"/>">
@@ -3690,7 +3690,7 @@
<tr class="deliveryAddressDefault">
<th><span class="orderInfo__title">개인통관번호</span></th>
<td>
<input type="hidden" id="cstmclerCd" class="dft" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<input type="hidden" id="cstmclerCd" class="dft" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<span class="orderInfo__text cstmclerCd_ordrInfo_text">
<c:choose>
<c:when test="${not empty dftDlvylc.cstmclerCd}">

View File

@@ -2775,7 +2775,7 @@
const required = requiredMap[dlvylcAreaCd];
if (required) {
const $input = $('input.new[name="' + required + '"]');
const $input = $('#' + required);
const title = $input.attr('title');
const value = $input.val();
@@ -3648,7 +3648,7 @@
<input type="hidden" id="dlvylcAdresDvCd" class="dft" value="<c:out value="${dftDlvylc.adresDv}"/>">
<input type="hidden" id="dlvylcZip" class="dft" value="<c:out value="${dftDlvylc.zip}"/>">
<input type="hidden" id="dlvylcAreaCd" class="dft" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
<input type="hidden" id="prefcd" class="dft" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" id="prefcd" class="dft" title="도도부현코드" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" id="dlvylcLnbAdres" class="dft" value="<c:out value="${dftDlvylc.lnbAdres}"/>">
<input type="hidden" id="dlvylcRnmAdres" class="dft" value="<c:out value="${dftDlvylc.rnmAdres}"/>">
<input type="hidden" id="dlvylcAdresDtl" class="dft" value="<c:out value="${dftDlvylc.dtlAdres}"/>">
@@ -3670,7 +3670,7 @@
<tr class="deliveryAddressDefault">
<th><span class="orderInfo__title">개인통관번호</span></th>
<td>
<input type="hidden" id="cstmclerCd" class="dft" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<input type="hidden" id="cstmclerCd" class="dft" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<span class="orderInfo__text cstmclerCd_ordrInfo_text">
<c:choose>
<c:when test="${not empty dftDlvylc.cstmclerCd}">

View File

@@ -125,8 +125,8 @@
let cstmclerText = 'KR' === $(".dlvylcAreaCd").eq(idx).val() ? '개인통관번호 : ' + $(".cstmclerCd").eq(idx).val() : '';
$(".deliveryInfo__cstmclerCd").text(cstmclerText);
$(".cstmclerCdC").val($(".cstmclerCd").eq(idx).val());
console.log("cstmclerCd : ",cstmclerText);
console.log("dlvylcAreaCd : ",$(".dlvylcAreaCd").eq(idx).val());
// console.log("cstmclerCd : ",cstmclerText);
// console.log("dlvylcAreaCd : ",$(".dlvylcAreaCd").eq(idx).val());
//hidden 정보 set
fn_select_mngrOrdr_postcode(fn_set_dlvylc, idx);
}
@@ -1841,6 +1841,17 @@
$(form).find('input[name="recpntMbtlnb"]').val(fn_format_mbtlnb(data.mbtlnb));
closeModal('postModal');
let dlvylcAreaCd = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
if('JP' === dlvylcAreaCd){
$('.cstmclerArea').hide();
$('.cstmclerArea').find('input').prop('disabled', true);
} else {
$('.cstmclerArea').show();
$('.cstmclerArea').find('input').prop('disabled', false);
}
// 배송지 정보 세팅 이후 결제예정금액 재계산
fn_get_setle_amt();
}
@@ -2782,8 +2793,8 @@
const dlvylcDvCd = $('input[name="dlvylcDvCd"]:checked').val();
const isDftDlvylc = $('#isDftDlvylc').val(); // 기본 배송지 세팅 여부
/* 선물하기 > 정합성 검사 시작 1 */
if (ordrTyCd === '04') {
$('#dlvylcForm').find('.required_gift').each(function () {
const val = $(this).val();
const name = $(this).attr('name');
@@ -2799,7 +2810,15 @@
}
});
/* 선물하기 > 정합성 검사 종료 1 */
} else {
// console.log("dlvylcDvCd : ",dlvylcDvCd);
const requiredMap = {
KR: 'cstmclerCd',
JP: 'prefcd'
};
if (dlvylcDvCd === 'Default') {
$('#dlvylcForm').find('.required').each(function () {
const val = $(this).val();
@@ -2808,13 +2827,27 @@
const title = $(this).attr('title');
fn_call_alert_modal(title + ' 항목을 입력해 주십시요');
isValid = false;
return false;
}
});
const dlvylcAreaCd = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
const required = requiredMap[dlvylcAreaCd];
if (required) {
const $input = $('input[name="' + required + '"]');
const title = $input.attr('title');
const value = $input.val();
if (fn_is_empty(value)) {
fn_call_alert_modal(title + '을 입력해 주십시오');
isValid = false;
return false;
}
}
let dlvylcAdresDvCd = $('#dlvylcForm').find('input[name="dlvylcAdresDvCd"]').val();
$('#dlvylcForm').find('input').each(function () {
@@ -2874,8 +2907,8 @@
}
});
// 선물하기 아닐경우 끝
} else {
/* TODO : 선물하기 > 정합성 검사 시작 2 */
if (isDftDlvylc === 'N') {
$('#dlvylcForm').find('.required').each(function () {
const val = $(this).val();
@@ -2907,6 +2940,9 @@
}
});
}
/* 선물하기 > 정합성 검사 종료 2 */
}
}
@@ -3708,9 +3744,9 @@
</p>
<input type="hidden" name="dlvylcAdresDvCd" value="<c:out value="${dftDlvylc.adresDv}"/>">
<input type="hidden" name="dlvylcZip" value="<c:out value="${dftDlvylc.zip}"/>">
<input type="hidden" name="dlvylcAreaCd" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
<input type="hidden" name="cstmclerCd" class="cstmclerCdC required" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<input type="hidden" name="prefcd" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" name="dlvylcAreaCd" class="required" title="배송지역코드" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
<input type="hidden" name="cstmclerCd" class="cstmclerCdC" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<input type="hidden" name="prefcd" title="도도부현코드" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소" value="<c:out value="${dftDlvylc.lnbAdres}"/>">
<input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소" value="<c:out value="${dftDlvylc.rnmAdres}"/>">
<input type="hidden" name="dlvylcAdres" class="required" title="주소" value="<c:out value="${dftDlvylc.adres}"/>" >
@@ -3804,18 +3840,17 @@
<input type="hidden" name="dlvylcAdresDvCd">
<input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소">
<input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소">
<input type="hidden" name="dlvylcAreaCd">
<input type="hidden" name="prefcd">
<%-- <input type="hidden" name="cstmclerCd" title="개인통관번호">--%>
<input type="hidden" name="dlvylcAreaCd" title="배송지역코드" class="required">
<input type="hidden" name="prefcd" title="도도부현코드">
</div>
</div>
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">휴대폰 번호</div>
<input class="input-text full required required_gift" type="tel" title="휴대폰 번호" name= "recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno);" placeholder="휴대폰번호(“-”) 없이 입력" value="" maxlength="13" readonly>
</div>
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__item cstmclerArea" style="display: none;">
<div class="userForm__inputBox__itemTitle">개인통관번호</div>
<input class="input-text full required required_gift" type="text" title="개인통관번호" name= "cstmclerCd" placeholder="배송지 관리에서 입력하세요." value="" maxlength="13" readonly>
<input class="input-text full required_gift" type="text" title="개인통관번호" name= "cstmclerCd" placeholder="배송지 관리에서 입력하세요." value="" maxlength="13" readonly>
</div>
<div class="userForm__inputBox__item dftDlvylcGift presentShowArea" style="display:none;">
<div class="userForm__inputBox__itemTitle">선물메세지</div>

View File

@@ -125,8 +125,8 @@
let cstmclerText = 'KR' === $(".dlvylcAreaCd").eq(idx).val() ? '개인통관번호 : ' + $(".cstmclerCd").eq(idx).val() : '';
$(".deliveryInfo__cstmclerCd").text(cstmclerText);
$(".cstmclerCdC").val($(".cstmclerCd").eq(idx).val());
console.log("cstmclerCd : ",cstmclerText);
console.log("dlvylcAreaCd : ",$(".dlvylcAreaCd").eq(idx).val());
// console.log("cstmclerCd : ",cstmclerText);
// console.log("dlvylcAreaCd : ",$(".dlvylcAreaCd").eq(idx).val());
//hidden 정보 set
fn_select_mngrOrdr_postcode(fn_set_dlvylc, idx);
}
@@ -1841,6 +1841,17 @@
$(form).find('input[name="recpntMbtlnb"]').val(fn_format_mbtlnb(data.mbtlnb));
closeModal('postModal');
let dlvylcAreaCd = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
if('JP' === dlvylcAreaCd){
$('.cstmclerArea').hide();
$('.cstmclerArea').find('input').prop('disabled', true);
} else {
$('.cstmclerArea').show();
$('.cstmclerArea').find('input').prop('disabled', false);
}
// 배송지 정보 세팅 이후 결제예정금액 재계산
fn_get_setle_amt();
}
@@ -2779,8 +2790,8 @@
const dlvylcDvCd = $('input[name="dlvylcDvCd"]:checked').val();
const isDftDlvylc = $('#isDftDlvylc').val(); // 기본 배송지 세팅 여부
/* 선물하기 > 정합성 검사 시작 1 */
if (ordrTyCd === '04') {
$('#dlvylcForm').find('.required_gift').each(function () {
const val = $(this).val();
const name = $(this).attr('name');
@@ -2796,7 +2807,15 @@
}
});
/* 선물하기 > 정합성 검사 종료 1 */
} else {
// console.log("dlvylcDvCd : ",dlvylcDvCd);
const requiredMap = {
KR: 'cstmclerCd',
JP: 'prefcd'
};
if (dlvylcDvCd === 'Default') {
$('#dlvylcForm').find('.required').each(function () {
const val = $(this).val();
@@ -2805,13 +2824,26 @@
const title = $(this).attr('title');
fn_call_alert_modal(title + ' 항목을 입력해 주십시요');
isValid = false;
return false;
}
});
const dlvylcAreaCd = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
const required = requiredMap[dlvylcAreaCd];
if (required) {
const $input = $('input[name="' + required + '"]');
const title = $input.attr('title');
const value = $input.val();
if (fn_is_empty(value)) {
fn_call_alert_modal(title + '을 입력해 주십시오');
isValid = false;
return false;
}
}
let dlvylcAdresDvCd = $('#dlvylcForm').find('input[name="dlvylcAdresDvCd"]').val();
$('#dlvylcForm').find('input').each(function () {
@@ -2871,8 +2903,8 @@
}
});
// 선물하기 아닐경우 끝
} else {
/* TODO : 선물하기 > 정합성 검사 시작 2 */
if (isDftDlvylc === 'N') {
$('#dlvylcForm').find('.required').each(function () {
const val = $(this).val();
@@ -2904,6 +2936,9 @@
}
});
}
/* 선물하기 > 정합성 검사 종료 2 */
}
}
@@ -3431,9 +3466,9 @@
$(modal).find('.microModal__title').text(message)
// 이미 존재하지 않는 경우에만 Hash 추가
if (window.location.hash !== '#' + modalId) {
window.history.replaceState({modal: 'open'}, '', '#' + modalId);
}
// if (window.location.hash !== '#' + modalId) {
// window.history.replaceState({modal: 'open'}, '', '#' + modalId);
// }
}
});
}
@@ -3709,9 +3744,9 @@
</p>
<input type="hidden" name="dlvylcAdresDvCd" value="<c:out value="${dftDlvylc.adresDv}"/>">
<input type="hidden" name="dlvylcZip" value="<c:out value="${dftDlvylc.zip}"/>">
<input type="hidden" name="dlvylcAreaCd" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
<input type="hidden" name="cstmclerCd" class="cstmclerCdC required" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<input type="hidden" name="prefcd" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" name="dlvylcAreaCd" class="required" title="배송지역코드" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
<input type="hidden" name="cstmclerCd" class="cstmclerCdC" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
<input type="hidden" name="prefcd" title="도도부현코드" value="<c:out value="${dftDlvylc.prefcd}"/>">
<input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소" value="<c:out value="${dftDlvylc.lnbAdres}"/>">
<input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소" value="<c:out value="${dftDlvylc.rnmAdres}"/>">
<input type="hidden" name="dlvylcAdres" class="required" title="주소" value="<c:out value="${dftDlvylc.adres}"/>" >
@@ -3805,18 +3840,17 @@
<input type="hidden" name="dlvylcAdresDvCd">
<input type="hidden" name="dlvylcLnbAdres" title="도로명 or 지명 주소">
<input type="hidden" name="dlvylcRnmAdres" title="도로명 or 지명 주소">
<input type="hidden" name="dlvylcAreaCd">
<input type="hidden" name="prefcd">
<%-- <input type="hidden" name="cstmclerCd" title="개인통관번호">--%>
<input type="hidden" name="dlvylcAreaCd" title="배송지역코드" class="required">
<input type="hidden" name="prefcd" title="도도부현코드">
</div>
</div>
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__itemTitle">휴대폰 번호</div>
<input class="input-text full required required_gift" type="tel" title="휴대폰 번호" name= "recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno);" placeholder="휴대폰번호(“-”) 없이 입력" value="" maxlength="13" readonly>
</div>
<div class="userForm__inputBox__item">
<div class="userForm__inputBox__item cstmclerArea" style="display: none;">
<div class="userForm__inputBox__itemTitle">개인통관번호</div>
<input class="input-text full required required_gift" type="text" title="개인통관번호" name= "cstmclerCd" placeholder="배송지 관리에서 입력하세요." value="" maxlength="13" readonly>
<input class="input-text full required_gift" type="text" title="개인통관번호" name= "cstmclerCd" placeholder="배송지 관리에서 입력하세요." value="" maxlength="13" readonly>
</div>
<div class="userForm__inputBox__item dftDlvylcGift presentShowArea" style="display:none;">
<div class="userForm__inputBox__itemTitle">선물메세지</div>