zip.db로 지역을 3단 셀렉트로 불러오는 소스 크롬 파폭 오작동 문의

zip.db로 지역을 3단 셀렉트로 불러오는 소스 크롬 파폭 오작동 문의

QA

zip.db로 지역을 3단 셀렉트로 불러오는 소스 크롬 파폭 오작동 문의

본문

안녕하세요. :)
아래는 dadada님이 올리신 게시물의 일부입니다.
zip.db로 지역을 3단 셀렉트로 불러오는 소스인데요.
이상하게 크롬,파폭,사파리에서 wr_2 wr_3 변수를 사용하는 시/구/군, 동/읍/면 셀렉트가
검색후에 자동으로 주소변환도 안되고, 셀렉트 위치도 기억을 못해요.
익스플로어 8에서는 아주 잘되거든요.
이리저리 바꿔봐도 잘 안되네요. 에고~ 어디가 문제일까요?
 
<?
function get_select_addr_si($name,$selected,$event){
 global $g4;
 $onchange = "";
 if($event)$onchange = "onchange=\"$event\"";
 $zipfile = array();
 $fp = fopen($g4[bbs_path]."/zip.db", "r");
 while(!feof($fp)) {
     $zipfile[] = fgets($fp, 4096);
 }
 fclose($fp);
 
 $str = "<select id='$name' name='$name' $onchange>\n";
 $str .= "<option value=''>::지역::</option>\n";
 
 $temp_si = "";
 while ($zipcode = each($zipfile))
 {
  $temp_addr = explode(" ", substr($zipcode[1],8));
  if($temp_si != $temp_addr[0]){
   $select = "";
   if($temp_addr[0]==$selected && $selected)$select = "selected";
   $str.="<option value='".trim($temp_addr[0])."' $select>$temp_addr[0]</option>\n";
   $temp_si = $temp_addr[0];
  }
 }
 $str .="</select>\n";
 return $str;
}
?>
<script language="JavaScript" id="DynamicC"></script>
<script language="JavaScript" id="DynamicD"></script>
<script language="javascript">
function makeD(firstLoc,secondLoc){
    var ValueA = document.getElementsByName(firstLoc)[0].value;
 DynamicC.src = "<?=$board_skin_path?>/makeSi2.php?selectA="+ValueA+"&secondLoc="+secondLoc;
}
function makeE(firstLoc,secondLoc,thirdLoc){
    var ValueA = document.getElementsByName(firstLoc)[0].value;
    var ValueB = document.getElementsByName(secondLoc)[0].value;        
    DynamicD.src = "<?=$board_skin_path?>/makeDong2.php?selectA="+ValueA+"&selectB="+ValueB+"&thirdLoc="+thirdLoc;
}
 // -->
  </SCRIPT>
 
    <?=get_select_addr_si("wr_1",$wr_1,"makeD('wr_1','wr_2');")?>
    <?if($wr_1) echo "<script language='javascript'>makeD('wr_1','wr_2');</script>";
    ?>
    <select name="wr_2" onChange="makeE('wr_1','wr_2','wr_3')">
    <option value="">::시/구/군::</option>
    </select>
    <?if($wr_2)echo "<script language='javascript'>document.getElementById('wr_2').value='$wr_2';makeE('wr_1','wr_2','wr_3');</script>";
    ?>
    <select name="wr_3">
    <option value="">::동/읍/면::</option>
    </select>
    <?if($wr_3) echo "<script language='javascript'>document.getElementById('wr_3').value='$wr_3';</script>"; ?> 
    <input type="image" src="<?=$board_skin_path?>/img/btn_search.gif" border='0' align="absmiddle">

이 질문에 댓글 쓰기 :

답변 3

.... 
javascript 가 문제라고 판단하신다면 실행시 console창에 나타나는 에러가 없는지 확인하여 
그 문제를 해결해 나가야 합니다.

또한 이와 같이 소스코드 만으로는 언급한 문제를 추적 해결하기 어렵습니다.

작업중인 사이트를 임시로 올려두시고 요청을 하시는 것이 좋습니다.

푸르게님 답변 감사드립니다.:)
파폭 콘솔에서는 TypeError: document.getElementById(...) is null 이라고 뜨는데요.
아무래도,
<?if($wr_2)echo "<script language='javascript'>document.getElementById('wr_2').value='$wr_2';makeE('wr_1','wr_2','wr_3');</script>";
이 부분을 못불러오는 것 같아요.
어떻게 해결 방법이 없을까요? ㅜㅜ

<select name="wr_2"  id="wr_2"
<select name="wr_3"  id="wr_3"

슈와이님 답변 감사드립니다.
말씀하신대로 id값을 추가하니,
TypeError: document.getElementById(...) is null 는 사라졌는데요.
ReferenceError: fsearch_set is not defined 가 뜹니다.
되는듯 하면서 다시 셀렉트가 풀려버려요.

fsearch_set 함수가 있나 확인해 보세요
답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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