zip.db로 지역을 3단 셀렉트로 불러오는 소스 크롬 파폭 오작동 문의 채택완료
공대그녀
11년 전
조회 8,180
안녕하세요. :)
아래는 dadada님이 올리신 게시물의 일부입니다.
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=145776" target="_blank">http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=145776
zip.db로 지역을 3단 셀렉트로 불러오는 소스인데요.
이상하게 크롬,파폭,사파리에서 wr_2 wr_3 변수를 사용하는 시/구/군, 동/읍/면 셀렉트가
검색후에 자동으로 주소변환도 안되고, 셀렉트 위치도 기억을 못해요.
익스플로어 8에서는 아주 잘되거든요.
이리저리 바꿔봐도 잘 안되네요. 에고~ 어디가 문제일까요?
<?
function get_select_addr_si($name,$selected,$event){
global $g4;
function get_select_addr_si($name,$selected,$event){
global $g4;
$onchange = "";
if($event)$onchange = "onchange=\"$event\"";
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];
}
}
$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;
}
}
?>
<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>
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>";
?>
<?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">
<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개
채택된 답변
+20 포인트
11년 전
....
javascript 가 문제라고 판단하신다면 실행시 console창에 나타나는 에러가 없는지 확인하여
그 문제를 해결해 나가야 합니다.
또한 이와 같이 소스코드 만으로는 언급한 문제를 추적 해결하기 어렵습니다.
작업중인 사이트를 임시로 올려두시고 요청을 하시는 것이 좋습니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
공대그녀
11년 전
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
�
공대그녀
11년 전
fsearch_set 함수는 없는것 같아요.
form 의 onsubmit에 return fsearch_set(this) 이라고 있습니다.
<form name=fsearch method=get style="margin:0;" onsubmit="return fsearch_set(this);">
form 의 onsubmit에 return fsearch_set(this) 이라고 있습니다.
<form name=fsearch method=get style="margin:0;" onsubmit="return fsearch_set(this);">
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
파폭 콘솔에서는 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>";
이 부분을 못불러오는 것 같아요.
어떻게 해결 방법이 없을까요? ㅜㅜ