fix : 상품관리 > 상품조회 > 상품 등록/복사재등록/수정 - input 값 trim 공통함수 추가

This commit is contained in:
이대환
2026-10-08 11:33:23 +09:00
parent 4980c20c23
commit fbd7b4758e
4 changed files with 140 additions and 131 deletions

View File

@@ -749,7 +749,7 @@
<td>
<div class="optionApply__inputList">
<div class="optionApply__inputContainer">
<input class="input-text full"
<input class="input-text full input-trim"
type="text" name="optnNm1_normal" id="optnNm1_normal`+rowCount+`"
title="해당 인풋에 대한 설명">
<button type="button" class="btn outline xsm optionDel01">삭제</button>
@@ -782,11 +782,11 @@
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
</div>
<input class="input-text full" type="text" title="일반옵션 값" id="optnVal1_normal`+rowCount+`" name="optnVal1_normal">
<input class="input-text full input-trim" type="text" title="일반옵션 값" id="optnVal1_normal`+rowCount+`" name="optnVal1_normal">
</div>
</div>
</td>
<td><div class="optionApply__priceContainer"><input class="input-text full" type="text" title="일반옵션코드" name="optnCd1_normal"></td></div>
<td><div class="optionApply__priceContainer"><input class="input-text full input-trim" type="text" title="일반옵션코드" name="optnCd1_normal"></td></div>
`
+invntry_policy_qy+
`
@@ -890,11 +890,11 @@
`
+firstAdd+
`
<td><input class="input-text full" type="text" title="재고옵션 값1" name="optnVal1_invntry" /></td>
<td><input class="input-text full" type="text" title="재고옵션 값2" name="optnVal2_invntry"/></td>
<td><input class="input-text full" type="text" title="재고옵션 값3" name="optnVal3_invntry"/></td>
<td><input class="input-text full" type="text" title="재고옵션 값4" name="optnVal4_invntry"/></td>
<td><input class="input-text full" type="text" title="재고옵션 코드" name="optnCd1_invntry"/></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 값1" name="optnVal1_invntry" /></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 값2" name="optnVal2_invntry"/></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 값3" name="optnVal3_invntry"/></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 값4" name="optnVal4_invntry"/></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 코드" name="optnCd1_invntry"/></td>
`
+invntry_policy_qy+
`
@@ -933,7 +933,7 @@
</div>
</div>
</td>
<td><input class="input-text full" type="text" title="재고옵션 정보" name="optnInfo_invntry"/></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 정보" name="optnInfo_invntry"/></td>
<td>
<div class="compnbDscntAt_invntry">
<label class="b-checkbox checkbox" for="compnbDscntAt02_`+rowCount+`">
@@ -2884,6 +2884,7 @@
//상품 개별 수정 ajax
const updateAjaxInfo = (gubun, url, formData, sectionNo) =>{
if (confirm(gubun+`을(를) <spring:message code="confirm.common.update"/>`)) {
trimInputValue();
$.ajax({
type: 'post',
enctype: 'multipart/form-data',
@@ -3129,14 +3130,14 @@
<th>상품명<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text full" type="text" title="상품명" id="goodsNm" name="goodsNm" maxlength="35" value="${resultMap.goodsDtl.goodsNm}">
<input class="input-text full input-trim" type="text" title="상품명" id="goodsNm" name="goodsNm" maxlength="35" value="${resultMap.goodsDtl.goodsNm}">
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${resultMap.BOGoodsVO.sopmalCd}"/>
</div>
</td>
<th>상품명(영문)<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text full" type="text" title="상품명(영문)" id="goodsNmEn" name="goodsNmEn" maxlength="35" value="${resultMap.goodsDtl.goodsNmEn}">
<input class="input-text full input-trim" type="text" title="상품명(영문)" id="goodsNmEn" name="goodsNmEn" maxlength="35" value="${resultMap.goodsDtl.goodsNmEn}">
</div>
</td>
</tr>
@@ -3144,13 +3145,13 @@
<th>대표설명</th>
<td>
<div class="td-inner">
<input class="input-text full" type="text" title="대표설명" id="reprsntDc" name="reprsntDc" value="${resultMap.goodsDtl.reprsntDc}" >
<input class="input-text full input-trim" type="text" title="대표설명" id="reprsntDc" name="reprsntDc" value="${resultMap.goodsDtl.reprsntDc}" >
</div>
</td>
<th>간략설명</th>
<td>
<div class="td-inner">
<input class="input-text full" type="text" title="간략설명" id="srtDc" name="srtDc" value="${resultMap.goodsDtl.srtDc}">
<input class="input-text full input-trim" type="text" title="간략설명" id="srtDc" name="srtDc" value="${resultMap.goodsDtl.srtDc}">
</div>
</td>
</tr>
@@ -3158,7 +3159,7 @@
<th>검색어</th>
<td>
<div class="td-inner">
<input class="input-text full" type="text" title="검색어" id="kwrd" name="kwrd" value="${resultMap.goodsDtl.kwrd}">
<input class="input-text full input-trim" type="text" title="검색어" id="kwrd" name="kwrd" value="${resultMap.goodsDtl.kwrd}">
</div>
</td>
<th>브랜드</th>
@@ -3182,7 +3183,7 @@
<th>리뷰 연동</th>
<td>
<div class="td-inner">
<input class="input-text full" type="text" title="리뷰 연동" id="rvwGroupNb" name="rvwGroupNb" value="${resultMap.goodsDtl.rvwGroupNb}">
<input class="input-text full input-trim" type="text" title="리뷰 연동" id="rvwGroupNb" name="rvwGroupNb" value="${resultMap.goodsDtl.rvwGroupNb}">
</div>
</td>
<th>리뷰 작성 가능 여부</th>
@@ -3350,7 +3351,7 @@
<span class="control-label">사용자페이지 판매중지 문구 변경 -> </span>
</label>
</div>
<label for="selStpgeCustomWords"></label><input type="text" class="input-text" id="selStpgeCustomWords" name="selStpgeCustomWords" value="${resultMap.goodsDtl.selStpgeCustomWords}"
<label for="selStpgeCustomWords"></label><input type="text" class="input-text input-trim" id="selStpgeCustomWords" name="selStpgeCustomWords" value="${resultMap.goodsDtl.selStpgeCustomWords}"
<c:if test="${resultMap.goodsDtl.selStpgeCustomWordsAt ne 'Y'}"> disabled </c:if>
/>
<span class="parentheses">) </span>
@@ -3387,7 +3388,7 @@
<th>예약 상품 안내문구</th>
<td>
<div class="td-inner">
<input class="input-text xl" type="text"
<input class="input-text xl input-trim" type="text"
id="resveGoodsGuidanceWordsCn"
name="resveGoodsGuidanceWordsCn"
value="${resultMap.goodsDtl.resveGoodsGuidanceWordsCn}"
@@ -3453,7 +3454,7 @@
<tr>
<th>노출 문구</th>
<td>
<input class="input-text xl" type="text"
<input class="input-text xl input-trim" type="text"
title="노출 문구" id="expsrSetupFwords"
name="expsrSetupFwords"
<c:choose>
@@ -3544,7 +3545,7 @@
<span class="ml-4">개의 수량을</span>
<input type="text" id="rltmQyDdctStdrDt" value="${fn:split(resultMap.goodsDtl.rltmQyDdctStdrDt,'T')[0]}" class="datepicker" title="이벤트가판매 가수량차감기준일시 설정" autocomplete="off" <c:if test="${resultMap.goodsDtl.rltmQyBannerDvCd ne '03'}">disabled</c:if> >
<span class="ml-4">부터</span>
<input type="text" class="input-text sm right" title="이벤트가판매 가수량차감시간 설정" value="${resultMap.goodsDtl.rltmQyDdctTme}" id="rltmQyDdctTme" <c:if test="${resultMap.goodsDtl.rltmQyBannerDvCd ne '03'}">disabled</c:if> >
<input type="text" class="input-text sm right number" title="이벤트가판매 가수량차감시간 설정" value="${resultMap.goodsDtl.rltmQyDdctTme}" id="rltmQyDdctTme" <c:if test="${resultMap.goodsDtl.rltmQyBannerDvCd ne '03'}">disabled</c:if> >
<span class="ml-4">분마다</span>
<input class="input-text sm right number" id="rltmDdctQy" value="${resultMap.goodsDtl.rltmDdctQy}" type="text" title="이벤트가판매 가수량차감수량 설정" <c:if test="${resultMap.goodsDtl.rltmQyBannerDvCd ne '03'}">disabled</c:if> >
<span class="ml-4">개씩 차감</span>
@@ -3767,7 +3768,7 @@
<div class="optionApply__inputContainer">
<c:choose>
<c:when test="${optnNm01_status.index eq '0'}">
<input class="input-text full" value="${optnNm011}" type="text" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnNm01_status.index}">
<input class="input-text full input-trim" value="${optnNm011}" type="text" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnNm01_status.index}">
<%-- <button type="button" class="btn outline xsm optionDel02">삭제</button>--%>
<button type="button" class="btn outline xsm optionVal98">옵션값 추가</button>
<c:forEach var="goodsOptnInnb01" items="${fn:split(optnList01.goodsOptnInnb, '|')}" varStatus="goodsOptnInnb01_status">
@@ -3777,7 +3778,7 @@
</c:forEach>
</c:when>
<c:otherwise>
<input class="input-text full" value="${optnNm011}" type="hidden" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnTy01idx.index}${optnNm01_status.index}">
<input class="input-text full input-trim" value="${optnNm011}" type="hidden" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnTy01idx.index}${optnNm01_status.index}">
<c:forEach var="goodsOptnInnb01" items="${fn:split(optnList01.goodsOptnInnb, '|')}" varStatus="goodsOptnInnb01_status">
<c:if test="${goodsOptnInnb01_status.index ne '0' and optnNm01_status.index eq goodsOptnInnb01_status.index }">
<input type="hidden" name="goodsOptnInnb_normal" value="${goodsOptnInnb01}"/>
@@ -3791,7 +3792,7 @@
<div class="optionApply__inputContainer">
<c:choose>
<c:when test="${optnNm01_status.index eq '0'}">
<input class="input-text full" value="${optnNm011}" type="text" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnTy01idx.index}${optnNm01_status.index}">
<input class="input-text full input-trim" value="${optnNm011}" type="text" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnTy01idx.index}${optnNm01_status.index}">
<button type="button" class="btn outline xsm optionDel02">삭제</button>
<button type="button" class="btn outline xsm optionVal98">옵션값 추가</button>
<c:forEach var="goodsOptnInnb01" items="${fn:split(optnList01.goodsOptnInnb, '|')}" varStatus="goodsOptnInnb01_status">
@@ -3801,7 +3802,7 @@
</c:forEach>
</c:when>
<c:otherwise>
<input class="input-text full" value="${optnNm011}" type="hidden" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnTy01idx.index}${optnNm01_status.index}">
<input class="input-text full input-trim" value="${optnNm011}" type="hidden" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnTy01idx.index}${optnNm01_status.index}">
<c:forEach var="goodsOptnInnb01" items="${fn:split(optnList01.goodsOptnInnb, '|')}" varStatus="goodsOptnInnb01_status">
<c:if test="${goodsOptnInnb01_status.index ne '0' and optnNm01_status.index eq goodsOptnInnb01_status.index }">
<input type="hidden" name="goodsOptnInnb_normal" value="${goodsOptnInnb01}"/>
@@ -3844,7 +3845,7 @@
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
</div>
<input class="input-text full" type="text" id="optnVal1_normal${optnTy01idx.index}${optnVal011_status.index}" name="optnVal1_normal" title="옵션값" value="${optnVal011}">
<input class="input-text full input-trim" type="text" id="optnVal1_normal${optnTy01idx.index}${optnVal011_status.index}" name="optnVal1_normal" title="옵션값" value="${optnVal011}">
</div>
</c:forEach>
</div>
@@ -3852,14 +3853,14 @@
<td>
<div class="optionApply__priceContainer">
<c:forEach var="optnCd011" items="${fn:split(optnList01.optnCd1, '|')}">
<input class="input-text full" type="text" title="일반옵션 상품코드" name="optnCd1_normal" value="${optnCd011}" >
<input class="input-text full input-trim" type="text" title="일반옵션 상품코드" name="optnCd1_normal" value="${optnCd011}" >
</c:forEach>
</div>
</td>
<td>
<div class="optionApply__priceContainer">
<c:forEach var="hscode011" items="${fn:split(optnList01.hscode, '|')}">
<input class="input-text full" type="text" title="HS Code" name="hscode_normal" value="${hscode011}" maxlength="10" >
<input class="input-text full input-trim" type="text" title="HS Code" name="hscode_normal" value="${hscode011}" maxlength="10" >
</c:forEach>
</div>
</td>
@@ -3997,7 +3998,7 @@
<td>
<div class="optionApply__inputList">
<div class="optionApply__inputContainer">
<input class="input-text full" type="text" name="optnNm1_normal" title="옵션명" id="optnNm1_normal0" value="">
<input class="input-text full input-trim" type="text" name="optnNm1_normal" title="옵션명" id="optnNm1_normal0" value="">
<button type="button" class="btn outline xsm optionDel01">삭제</button>
<button type="button" class="btn outline xsm optionVal98" >옵션값 추가</button>
</div>
@@ -4028,19 +4029,19 @@
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
</div>
<input class="input-text full" type="text" id="optnVal1_normal0" name="optnVal1_normal" title="옵션값" value="">
<input class="input-text full input-trim" type="text" id="optnVal1_normal0" name="optnVal1_normal" title="옵션값" value="">
<input type="hidden" name="goodsOptnInnb_normal" value=""/>
</div>
</div>
</td>
<td>
<div class="optionApply__priceContainer">
<input class="input-text full" type="text" title="상품코드" name="optnCd1_normal" value="" >
<input class="input-text full input-trim" type="text" title="상품코드" name="optnCd1_normal" value="" >
</div>
</td>
<td>
<div class="optionApply__priceContainer">
<input class="input-text full" type="text" title="HS Code" name="hscode_normal" value="" maxlength="10" >
<input class="input-text full input-trim" type="text" title="HS Code" name="hscode_normal" value="" maxlength="10" >
</div>
</td>
<td>
@@ -4187,16 +4188,16 @@
<td>
</td>
<td>
<input class="input-text full" name ="optnNm1_invntry" type="text" title="재고옵션명1" value="${optnList02.optnNm1}">
<input class="input-text full input-trim" name ="optnNm1_invntry" type="text" title="재고옵션명1" value="${optnList02.optnNm1}">
</td>
<td>
<input class="input-text full" name ="optnNm2_invntry" type="text" title="재고옵선명2" value="${optnList02.optnNm2}">
<input class="input-text full input-trim" name ="optnNm2_invntry" type="text" title="재고옵선명2" value="${optnList02.optnNm2}">
</td>
<td>
<input class="input-text full" name="optnNm3_invntry" type="text" title="재고옵션명3" value="${optnList02.optnNm3}">
<input class="input-text full input-trim" name="optnNm3_invntry" type="text" title="재고옵션명3" value="${optnList02.optnNm3}">
</td>
<td>
<input class="input-text full" name="optnNm4_invntry" type="text" title="재고옵션명4" value="${optnList02.optnNm4}">
<input class="input-text full input-trim" name="optnNm4_invntry" type="text" title="재고옵션명4" value="${optnList02.optnNm4}">
</td>
<td>
</td>
@@ -4234,17 +4235,17 @@
<td>
</td>
<td>
<input class="input-text full" name ="optnNm1_invntry" type="text" title="재고옵션명1" value="">
<input class="input-text full input-trim" name ="optnNm1_invntry" type="text" title="재고옵션명1" value="">
<input type="hidden" name="goodsOptnInnb_invntry" value="" />
</td>
<td>
<input class="input-text full" name ="optnNm2_invntry" type="text" title="재고옵선명2" value="">
<input class="input-text full input-trim" name ="optnNm2_invntry" type="text" title="재고옵선명2" value="">
</td>
<td>
<input class="input-text full" name="optnNm3_invntry" type="text" title="재고옵션명3" value="">
<input class="input-text full input-trim" name="optnNm3_invntry" type="text" title="재고옵션명3" value="">
</td>
<td>
<input class="input-text full" name="optnNm4_invntry" type="text" title="재고옵션명4" value="">
<input class="input-text full input-trim" name="optnNm4_invntry" type="text" title="재고옵션명4" value="">
</td>
<td>
@@ -4294,13 +4295,13 @@
<label for="stdrDvAt02-${opt02Status.index}"></label>
</div>
</td>
<td><input class="input-text full" type="text" title="재고옵션 값1" name="optnVal1_invntry" value="${goodsOpt02Val.optnVal1}" />
<td><input class="input-text full input-trim" type="text" title="재고옵션 값1" name="optnVal1_invntry" value="${goodsOpt02Val.optnVal1}" />
<input type="hidden" name="goodsOptnInnb_invntry" value="${goodsOpt02Val.goodsOptnInnb}" />
</td>
<td><input class="input-text full" type="text" title="재고옵션 값2" name="optnVal2_invntry" value="${goodsOpt02Val.optnVal2}"/></td>
<td><input class="input-text full" type="text" title="재고옵션 값3" name="optnVal3_invntry" value="${goodsOpt02Val.optnVal3}" /></td>
<td><input class="input-text full" type="text" title="재고옵션 값4" name="optnVal4_invntry" value="${goodsOpt02Val.optnVal4} "/></td>
<td><input class="input-text full" type="text" title="재고옵션 코드" name="optnCd1_invntry" value="${goodsOpt02Val.optnCd1}" /></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 값2" name="optnVal2_invntry" value="${goodsOpt02Val.optnVal2}"/></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 값3" name="optnVal3_invntry" value="${goodsOpt02Val.optnVal3}" /></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 값4" name="optnVal4_invntry" value="${goodsOpt02Val.optnVal4} "/></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 코드" name="optnCd1_invntry" value="${goodsOpt02Val.optnCd1}" /></td>
<td><input class="input-text full number right" type="text" value="<fmt:formatNumber value="${goodsOpt02Val.invntryQy}" pattern="#,###"/>" title="재고옵션 재고" name="invntryQy_invntry" <c:if test="${resultMap.goodsDtl.invntryPolicyCd eq '02'}"> disabled </c:if> /></td>
<td><input class="input-text full right" type="text" value="<fmt:formatNumber value="${goodsOpt02Val.usefulInvntry}" pattern="#,###"/>" title="재고옵션 가용재고" disabled /></td>
<td><input class="input-text full number right" type="text" value="<fmt:formatNumber value="${goodsOpt02Val.cnsmrpric}" pattern="#,###"/>" title="재고옵션 소비자가" name="cnsmrpric_invntry"/></td>
@@ -4323,7 +4324,7 @@
</div>
</div>
</td>
<td><input class="input-text full" type="text" title="재고옵션 정보" name="optnInfo_invntry" value="${goodsOpt02Val.optnInfo}"/></td>
<td><input class="input-text full input-trim" type="text" title="재고옵션 정보" name="optnInfo_invntry" value="${goodsOpt02Val.optnInfo}"/></td>
<td>
<div class="compnbDscntAt_invntryList" style="height: 100%; display: flex; flex-direction: column; justify-content: space-around;">
<div class="compnbDscntAt_invntry">
@@ -5005,7 +5006,7 @@
<th>배송 안내 문구</th>
<td>
<div class="td-inner">
<input class="input-text full" type="text" id="dlvyGuidanceWordsCn" name="dlvyGuidanceWordsCn" value="${ resultMap.goodsDtl.dlvyGuidanceWordsCn}" title="배송안내문구">
<input class="input-text full input-trim" type="text" id="dlvyGuidanceWordsCn" name="dlvyGuidanceWordsCn" value="${ resultMap.goodsDtl.dlvyGuidanceWordsCn}" title="배송안내문구">
</div>
</td>
</tr>
@@ -5523,7 +5524,7 @@
//옵션명
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(`
<div class="optionApply__inputContainer" style="margin: 0">
<input class="input-text full `+optnNm.attr('id')+`" type="hidden" value="`+optnNmVal+`" title="일반옵션명" name="optnNm1_normal">
<input class="input-text full input-trim `+optnNm.attr('id')+`" type="hidden" value="`+optnNmVal+`" title="일반옵션명" name="optnNm1_normal">
</div>
`);
//노출여부
@@ -5548,14 +5549,14 @@
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
</div>
<input class="input-text full" value="" type="text" title="일반옵션값" name="optnVal1_normal">
<input class="input-text full input-trim" value="" type="text" title="일반옵션값" name="optnVal1_normal">
</div>
`);
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
<input class="input-text full" type="text" title="일반옵션코드" name="optnCd1_normal">
<input class="input-text full input-trim" type="text" title="일반옵션코드" name="optnCd1_normal">
`);
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
<input class="input-text full" value="220600" type="text" title="HS Code" name="hscode_normal" maxlength="10">
<input class="input-text full input-trim" value="220600" type="text" title="HS Code" name="hscode_normal" maxlength="10">
`);
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
<input class="input-text full" value="0.0" type="text" title="실무게(KG)" name="realWt_normal">