fnReturn 에서 주소, 상세 주소 부분 수정.

main
jjh 1 year ago
parent c40e0fc638
commit f59a72b8e5

@ -34,11 +34,11 @@
<body> <body>
<div class="card m-4 p-3"> <div class="card m-4 p-3">
<form name="form" id="form" method="post"> <form name="form" id="form" method="post">
<input type="hidden" name="resultType" value="json" /> <!-- 요청 변수 설정 (검색결과형식 설정, json) --> <input type="hidden" name="resultType" value="json" /> <!-- 요청 변수 설정 (검색결과형식 설정, json) -->
<input type="hidden" name="confmKey" value="U01TX0FVVEgyMDE3MDQwMzIwMzUzMjIwMzI2" /><!-- 요청 변수 설정 (승인키) --> <input type="hidden" name="confmKey" value="U01TX0FVVEgyMDE3MDQwMzIwMzUzMjIwMzI2" /><!-- 요청 변수 설정 (승인키) -->
<input type="hidden" name="countPerPage" value="10"/><!-- 요청 변수 설정 (페이지당 출력 개수. countPerPage 범위 : 0 < n <= 100) --> <input type="hidden" name="countPerPage" value="10"/><!-- 요청 변수 설정 (페이지당 출력 개수. countPerPage 범위 : 0 < n <= 100) -->
<input type="hidden" id="currentPage" name="currentPage" value="1"/> <!-- 요청 변수 설정 (현재 페이지. currentPage : n > 0) --> <input type="hidden" id="currentPage" name="currentPage" value="1"/> <!-- 요청 변수 설정 (현재 페이지. currentPage : n > 0) -->
<div class="container-search"> <div class="container-search">
<div class="row g-1"> <div class="row g-1">
<div class="col-12 d-flex justify-content-center"> <div class="col-12 d-flex justify-content-center">
@ -50,7 +50,7 @@
</div> </div>
</div> </div>
</div> </div>
<div id="list" class="mt-4"> <div id="list" class="mt-4">
<div class="card-datatable text-nowrap"> <div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer"> <div class="dataTables_wrapper dt-bootstrap5 no-footer">
@ -77,12 +77,12 @@
<tr> <tr>
<td valign="top" colspan="3" class="dataTables_empty text-center">조회 결과가 없습니다.</td> <td valign="top" colspan="3" class="dataTables_empty text-center">조회 결과가 없습니다.</td>
</tr> </tr>
</template> </template>
</table> </table>
</div> </div>
</div> </div>
</div><!-- 검색 결과 리스트 출력 영역 --> </div><!-- 검색 결과 리스트 출력 영역 -->
<div> <div>
<span class="container-page-btn"> <span class="container-page-btn">
<div class="d-flex flex-row justify-content-between"> <div class="d-flex flex-row justify-content-between">
@ -98,10 +98,10 @@
<div id="formBottom" style="display:none"> <div id="formBottom" style="display:none">
<div> <div>
기본주소 : 기본주소 :
<span id="mainAddr"></span> <span id="mainAddr"></span>
<br/> <br/>
상세주소 : 상세주소 :
<input type="text" id="etcAddr" name="etcAddr" class="form-control w-px-400" /> <input type="text" id="etcAddr" name="etcAddr" class="form-control w-px-400" />
<button type="button" class="btn btn-primary" onClick="fnReturn();">확인</button> <button type="button" class="btn btn-primary" onClick="fnReturn();">확인</button>
</div> </div>
@ -139,6 +139,7 @@ var addrControl = new DatasetControl({
keymapper : info => info ? info.TEMP_ID : "", keymapper : info => info ? info.TEMP_ID : "",
formats: {} formats: {}
}); });
/************************************************************************** /**************************************************************************
* DatasetControl.on * DatasetControl.on
**************************************************************************/ **************************************************************************/
@ -166,11 +167,11 @@ function renderAddrList(total){
.replace(/{onclick}/gi, "fnClickAddrList('" + dataItem.getValue("TEMP_ID") + "');") .replace(/{onclick}/gi, "fnClickAddrList('" + dataItem.getValue("TEMP_ID") + "');")
var trs = empty ? notFound : addrList.inStrings(found, replacer); var trs = empty ? notFound : addrList.inStrings(found, replacer);
$("#addrTbody").html(trs.join()); $("#addrTbody").html(trs.join());
} }
function getAddr(pageNum){ function getAddr(pageNum){
// 적용예 (api 호출 전에 검색어 체크) // 적용예 (api 호출 전에 검색어 체크)
if (!checkSearchedWord(document.form.keyword)) { if (!checkSearchedWord(document.form.keyword)) {
return ; return ;
} }
@ -186,7 +187,7 @@ function getAddr(pageNum){
,success:function(jsonStr){ ,success:function(jsonStr){
$("#list").show(); $("#list").show();
$("#formBottom").hide(); $("#formBottom").hide();
var errCode = jsonStr.results.common.errorCode; var errCode = jsonStr.results.common.errorCode;
var errDesc = jsonStr.results.common.errorMessage; var errDesc = jsonStr.results.common.errorMessage;
if(errCode != "0"){ if(errCode != "0"){
@ -195,9 +196,9 @@ function getAddr(pageNum){
if(jsonStr != null){ if(jsonStr != null){
var tempId = 0; var tempId = 0;
jsonStr.results.juso.forEach((item) => item.TEMP_ID = tempId++); jsonStr.results.juso.forEach((item) => item.TEMP_ID = tempId++);
addrControl.setData(jsonStr.results); addrControl.setData(jsonStr.results);
} }
} }
} }
@ -214,21 +215,21 @@ function checkSearchedWord(obj){
var expText = /[%=><]/ ; var expText = /[%=><]/ ;
if(expText.test(obj.value) == true){ if(expText.test(obj.value) == true){
alert("특수문자를 입력 할수 없습니다.") ; alert("특수문자를 입력 할수 없습니다.") ;
obj.value = obj.value.split(expText).join(""); obj.value = obj.value.split(expText).join("");
return false; return false;
} }
//특정문자열(sql예약어의 앞뒤공백포함) 제거 //특정문자열(sql예약어의 앞뒤공백포함) 제거
var sqlArray = new Array( var sqlArray = new Array(
//sql 예약어 //sql 예약어
"OR", "SELECT", "INSERT", "DELETE", "UPDATE", "CREATE", "DROP", "EXEC", "OR", "SELECT", "INSERT", "DELETE", "UPDATE", "CREATE", "DROP", "EXEC",
"UNION", "FETCH", "DECLARE", "TRUNCATE" "UNION", "FETCH", "DECLARE", "TRUNCATE"
); );
var regex; var regex;
for(var i=0; i<sqlArray.length; i++){ for(var i=0; i<sqlArray.length; i++){
regex = new RegExp( sqlArray[i] ,"gi") ; regex = new RegExp( sqlArray[i] ,"gi") ;
if (regex.test(obj.value) ) { if (regex.test(obj.value) ) {
alert("\"" + sqlArray[i]+"\"와(과) 같은 특정문자로 검색할 수 없습니다."); alert("\"" + sqlArray[i]+"\"와(과) 같은 특정문자로 검색할 수 없습니다.");
obj.value =obj.value.replace(regex, ""); obj.value =obj.value.replace(regex, "");
@ -241,46 +242,45 @@ function checkSearchedWord(obj){
function enterSearch() { function enterSearch() {
var evt_code = (window.netscape) ? ev.which : event.keyCode; var evt_code = (window.netscape) ? ev.which : event.keyCode;
if (evt_code == 13) { if (evt_code == 13) {
event.keyCode = 0; event.keyCode = 0;
getAddr(1); //jsonp사용시 enter검색 getAddr(1); //jsonp사용시 enter검색
} }
} }
function fnClickAddrList(tempId){ function fnClickAddrList(tempId){
$("#formBottom").show(); $("#formBottom").show();
$("#mainAddr").html(""); $("#mainAddr").html("");
$("#etcAddr").val(""); $("#etcAddr").val("");
addrControl.dataset.setCurrent(tempId); addrControl.dataset.setCurrent(tempId);
$("#mainAddr").html(addrControl.dataset.getCurrent().roadAddr); $("#mainAddr").html(addrControl.dataset.getCurrent().roadAddr);
$("#addrTbody").setCurrentRow(tempId); $("#addrTbody").setCurrentRow(tempId);
$("#etcAddr").focus(); $("#etcAddr").focus();
} }
function fnReturn(){ function fnReturn(){
var addrObj = {}; var addrObj = {};
addrObj = addrControl.dataset.getCurrent(); addrObj = addrControl.dataset.getCurrent();
addrObj.etcAddr = $("#etcAddr").val(); addrObj.etcAddr = $("#etcAddr").val();
addrObj.ZIP = addrObj.zipNo; addrObj.ZIP = addrObj.zipNo;
addrObj.ADDR = addrObj.roadAddr; addrObj.ADDR = addrObj.roadAddrPart1;
addrObj.DTL_ADDR = addrObj.etcAddr; addrObj.DTL_ADDR = addrObj.etcAddr + addrObj.roadAddrPart2;
addrObj.ROAD_NM_CD = addrObj.rnMgtSn; addrObj.ROAD_NM_CD = addrObj.rnMgtSn;
addrObj.UDGD_SE_CD = addrObj.udrtYn; addrObj.UDGD_SE_CD = addrObj.udrtYn;
addrObj.BMNO = addrObj.buldMnnm; addrObj.BMNO = addrObj.buldMnnm;
addrObj.BSNO = addrObj.buldSlno; addrObj.BSNO = addrObj.buldSlno;
addrObj.BLDG_MNG_NO = addrObj.bdMgtSn; addrObj.BLDG_MNG_NO = addrObj.bdMgtSn;
addrObj.STDG_CD = addrObj.admCd; addrObj.STDG_CD = addrObj.admCd;
addrObj.MTN_SE_CD = addrObj.mtYn; addrObj.MTN_SE_CD = addrObj.mtYn;
addrObj.MNO = addrObj.lnbrMnnm; addrObj.MNO = addrObj.lnbrMnnm;
addrObj.SNO = addrObj.lnbrSlno; addrObj.SNO = addrObj.lnbrSlno;
addrObj.DONG_CD = ""; addrObj.DONG_CD = "";
window.opener[callbackFuncName](addrObj); window.opener[callbackFuncName](addrObj);
window.close(); window.close();
} }
@ -293,4 +293,3 @@ $("#list").hide();
</script> </script>
</body> </body>
</html> </html>
Loading…
Cancel
Save