검색버튼을 넣었는데 에러가나네요.. 봐주세요. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

검색버튼을 넣었는데 에러가나네요.. 봐주세요. 정보

검색버튼을 넣었는데 에러가나네요.. 봐주세요.

본문

<script-x language="javascript-x">
<!--//-- 스킨용 : 주소 셀렉트창 (대도시,구.군,여유필드]
var cat1_info = new Array, cat2_info = new Array;
var cat2_num = new Array;

cat1_info[1] = { serial:11, name:'서울' }
cat1_info[2] = { serial:21, name:'부산' }
cat1_info[3] = { serial:22, name:'대구' }
cat1_info[4] = { serial:23, name:'인천' }
cat1_info[5] = { serial:24, name:'광주' }
cat1_info[6] = { serial:25, name:'대전' }
cat1_info[7] = { serial:26, name:'울산' }
cat1_info[8] = { serial:41, name:'경기' }
cat1_info[9] = { serial:42, name:'강원' }
cat1_info[10] = { serial:43, name:'충북' }
cat1_info[11] = { serial:44, name:'충남' }
cat1_info[12] = { serial:45, name:'전북' }
cat1_info[13] = { serial:46, name:'전남' }
cat1_info[14] = { serial:47, name:'경북' }
cat1_info[15] = { serial:48, name:'경남' }
cat1_info[16] = { serial:49, name:'제주' }

<?
for ($i = 0; $i < 16; $i++) {
   
switch ($i) {
case (0) : $area_code = '11'; $area_name = '서울'; break;
case (1) : $area_code = '21' ; $area_name = '부산'; break;
case (2) : $area_code = '22' ; $area_name = '대구'; break;
case (3) : $area_code = '23' ; $area_name = '인천'; break;
case (4) : $area_code = '24' ; $area_name = '광주'; break;
case (5) : $area_code = '25' ; $area_name = '대전'; break;
case (6) : $area_code = '26' ; $area_name = '울산'; break;
case (7) : $area_code = '41' ; $area_name = '경기'; break;
case (8) : $area_code = '42' ; $area_name = '강원'; break;
case (9) : $area_code = '43' ; $area_name = '충북'; break;
case (10) : $area_code = '44' ; $area_name = '충남'; break;
case (11) : $area_code = '45' ; $area_name = '전북'; break;
case (12) : $area_code = '46' ; $area_name = '전남'; break;
case (13) : $area_code = '47' ; $area_name = '경북'; break;
case (14) : $area_code = '48' ; $area_name = '경남'; break;
case (15) : $area_code = '49' ; $area_name = '제주'; break;
}

    $query1 = "Select distinct(zp_gugun) From g4_zip Where zp_sido = '$area_name'";   
$req1 = sql_query($query1);

    if(!$req1) {
          exit;
    }

$cnt = mysql_num_rows($req1);
?>
cat2_num[<?echo($i+1);?>] = <?echo($cnt);?>;
cat2_info[<?echo($i+1);?>] = new Array;
<?
$j = 0;

while ($rs1 = mysql_fetch_array($req1)) {

$region_name = $rs1[0];
$region_name = trim($region_name);
?> 
 cat2_info[<?echo($i+1);?>][<?echo($j);?>] = { serial:<?echo $area_code; ?>, name:'<?echo($region_name);?>' };
 <?
$j++;

}  // while loop end

}  // for loop end
?>

function onChangeCat1( cat1 ){

    document.fsearch_area.region_name.options.length = cat2_num[cat1] + 1;
    document.fsearch_area.region_name.options[0] = new Option( '전지역', '', true, true );
document.fsearch_area.region_name.options[0].value = cat1_info[cat1].name;

    for( var i=0; i<cat2_num[cat1]; i++ ){
document.fsearch_area.region_name.options[i+1] = new Option( cat2_info[cat1][i].name, cat2_info[cat1][i].serial );
document.fsearch_area.region_name.options[i+1].value = cat1_info[cat1].name + " " + cat2_info[cat1][i].name;

if( cat2_info[cat1][i].serial == 1 ) {
document.fsearch_area.region_name.options[i+1].selected = true;
}
    }
}

//-- wr_3, wr_6 등 중복셀렉트가 가능하게 해주는 함수
//-- 수정작업시, 아래 함수와 함께 write.skin.php에 사용된 '여유필드(wr_?)이름과 셀렉트문'을 가져와 붙이면 바로적용가능
//-- 단, 반드시 게시물리스트(list.skin.php)에 여유필드값이 게시물에 주어져야함.
//-- 중복필드가 필요없는 경우 'document.fsearch_area.srch_type.value'삭제, 셀렉트문삭제, value값에서 영필드명삭제
function onChangeKey() {
document.fsearch_area.stx.value = document.fsearch_area.region_name.value + " " + document.fsearch_area.srch_type.value;
document.fsearch_area.submit();
}

//--> 
</script-x>

<table cellpadding=0 cellspacing=0 border=0>
<form name=fsearch_area method=get>
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca value="<?=$sca?>">
<tr>
    <td>+ 지역검색 :
<input type=hidden name=sfl value="wr_5||wr_14"> 
<select name=area_name onChange="onChangeCat1(document.fsearch_area.area_name.value)">
                <option value="" selected>1차 지역선택</option>
                <option value=1>서울특별시</option>
                <option value=2>부산광역시</option>
                <option value=3>대구광역시</option>
                <option value=4>인천광역시</option>
                <option value=5>광주광역시</option>
                <option value=6>대전광역시</option>
                <option value=7>울산광역시</option>
                <option value=8>경기도</option>
                <option value=9>강원도</option>
                <option value=10>충청북도</option>
                <option value=11>충청남도</option>
                <option value=12>전라북도</option>
                <option value=13>전라남도</option>
                <option value=14>경상북도</option>
                <option value=15>경상남도</option>
                <option value=16>제주도</option>
              </select>
              <select name=region_name selected>
                <option value="">2차 구.군선택</option>
              </select>

  <select name=srch_type onChange="onChangeKey()">
<option value='' selected>매물분류</option>
<option value='빌딩/건물'>빌딩/건물</option>
<option value='상가'>상가</option>
<option value='주택'>주택</option>
<option value='주상복합'>주상복합</option>
<option value='토지'>토지</option>
<option value='전답'>전답</option>
<option value='재개발'>재개발</option>
<option value='공장/창고'>공장/창고</option>
</select> 
<input type=hidden name=sop value='and'>
<input type=hidden name=stx value=''>
    </td>
</tr>
</form>
</table>
<?
 if ($area_name != "") { $stx = ""; }
?>
---------------------------------------------------------------------------------
위소스는 현재 셀렉트 3개를 선택해야 작동하는데 

  <select name=srch_type onChange="onChangeKey()"> 을
  <select name=srch_type> 로 고치고

select문 뒤에 다음과 같이 검색 버튼을 만들어
 <INPUT type=image src="<?=$board_skin_path?>/img/search.gif" onclick="onChangeKey()">
를 추가 했습니다.

select를 선택해서 검색 누르면 에러가 없이 잘 작동됩니다.
그런데 select를 선택하지 않고 검색을 누르면 다음과 같은 에러가 납니다.

select distinct wr_parent from g4_write_state where and (wr_num between '-4' and '9996')

1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and (wr_num between '-4' and '9996')' at line 1

error file : /addang/bbs/board.php

에러의 내용이 무엇인지....
어떻게 해야 에러가 나오지 않는지요?
살펴봐주시고 고쳐 주시면 감사하겟습니다.
항상 도움만 받네요.. 아직초보라. 언젠가는 도움을 줄수 있겟죠 ^^
감사합니다.

댓글 전체

********* 답변 수정했습니다.***************

function onChangeKey() {
document.fsearch_area.stx.value = document.fsearch_area.region_name.value + " " + document.fsearch_area.srch_type.value;
document.fsearch_area.submit();
}
선택을 하지 않고 검색버튼을 누르면 각 필드의 값이 비어있어서 그래요... default값을 주던지 해야죠. 아니면 넘어오는 값이 비어있을 때 alert를 뜨게 하든지요. 예를 들면
function onChangeKey() {
if (!document.fsearch_area.region_name.value.length) {
alert('1차 지역선택을 하지 않았으면 먼저 하고 그리고 2차 구.군을 선택하세요');
return false;
}
if (!document.fsearch_area.srch_type.value.length ) {
alert('매물분류를 선택하세요.');
return false;
}
document.fsearch_area.stx.value = document.fsearch_area.region_name.value + " " + document.fsearch_area.srch_type.value;
document.fsearch_area.submit();
}
식으로 onChangeKey()함수를 처리하면 비어있을 경우 자바스크립트 에러가 뜨고 폼이 전송되지 않습니다.
전체 29 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT