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

main
jjh 1 year ago
parent c40e0fc638
commit f59a72b8e5

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