본문 바로가기

Web/Javascript

xmlhttp로 페이지 긁어와서 뿌려주기...흐흐

[xmlhttp.asp]

<script language="javascript">
<!--
function changeStep(step, changeStep){
if (step == "" || step == 0) {
return;
}

var strv = urlRead("xmlhttpexe.asp?intStep="+step);

switch (step) {
case 1 : document.all.step1.innerHTML = strv;document.all.description.innerHTML = "2단계를 선택해주세요";
break;
case 2 : document.all.step2.innerHTML = strv;document.all.description.innerHTML = "3단계를 선택해주세요";
break;
case 3 : document.all.step3.innerHTML = strv;
break;
}
}

function urlRead(url){
var x = new ActiveXObject("Microsoft.XMLHTTP")
x.open("get",url, false);
x.setRequestHeader("Content-Type", "text/html");
x.setRequestHeader("Content-Encoding", "euc-kr");
x.send();
return x.responseText;
}
//-->
</script>

<table cellpadding="10" cellspacing="0" border="0">

<tr>

<td width="10">
<select name="select0" onchange="changeStep(1, this.value);">
    <option value="" selected>--선택--</option>
    <option value="dfsf">첫번째 선택</option>
</select>
</td>

<td width="10">
<div id="step1">
    <select name="select1">
     <option value="">선택하세요</option>
    </select>
</div>
</td>

<td>
<div id="step2">
    <select name="select2">
     <option value="">선택하세요</option>
    </select>    
</div>
</td>

<td>
<div id="description">
    1단계를 선택해주세요
</div>
</td>

</tr>

<tr>
<td colspan="4">
<div id="step3"></div>
</td>
</tr>

</table>


[xmlhttpexe.asp]

<%
intStep = Request.QueryString("intStep")

Select Case intStep
Case "1"
%>
<select name="select1" onchange="changeStep(2, this.value)">
<option value="">선택하세요</option>
<option value="가">가</option>
<option value="나">나</option>
<option value="다">다</option>
<option value="라">라</option>
</select>
<%
Case "2"
%>
<select name="select2" onchange="changeStep(3, this.value)">
<option value="">선택하세요</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
</select>
<%
Case "3"
%>
검색 결과 입니다.
<%
End Select
%>



구글에 떠돌아다니는 소스를 고친것임...

원래 responseBody로 가져오면 바이너리를 아스키코드로 바꿔줘야 된다는데...

이게 비베스크립으로 구현되어 있어가지구 그거 써먹기는 싫고

phpschool 뒤져서 안써두 되게 수정한 것임. 근뎅 이게 한글이 깨질때도 있음...ㅡㅡ;

걍 아스키변환비베스크립을 자바스크립으로 포팅하던가 해서 써야 될듯..ㅡㅡ;;

누구 포팅해주실분~ㅋㅋㅋㅋ

근뎅 위에서 테스트한게 서버에 올려서 한글이 깨져서 날라오는 경우가 있어가지구

구글에 있던 원래 소스 다시 수정한거...ㅡㅡ;;;


<script language="javascript">
function setSelectData(url, content){
var x = new ActiveXObject("Microsoft.XMLHTTP");
x.open("get",url, false);
x.send();
document.all[content].innerHTML = BinDecode(x.responseBody);        
}
function change_m01s01_road(frm){
var url = "/address.asp?ua=newaddress&dong="+frm.dong.value+"&letter="+frm.letter.value;
setSelectData(url,"postnumber");
}
</script>
<script language="vbscript">
Function BinDecode(binData)
Dim i, byteChr, strV
For i = 1 to LenB(binData)
byteChr = AscB(MidB(binData,i,2))
If byteChr > 127 Then
    i = i + 1
    strV = strV & Chr("&H" & Hex(byteChr) & Hex(AscB(MidB(binData,i,2))))
Else
    strV = strV & Chr(byteChr)
End if
Next
BinDecode = strV
End Function
</script>

과연 자바스크립트로 바이너리를 아스키로 변환시킬 수 있을까요...ㅡㅡ;
집에가서 책이나 뒤져봐야 겠네요..ㅋ



ps. 다른 도메인에 있는 데이타를 가져올라하면 무시기 경고창이 뜨더군요..권한문제라고 하던데...ㅡㅡ;;

'Web > Javascript' 카테고리의 다른 글

지역 선택 (js+checkbox+select)  (0) 2013.09.26
탭 페이지  (0) 2013.09.26
2차 완성된 DHTML 을 이용한 클라이언트 스크립트로 Element 생성  (0) 2013.09.26
주민번호 다음 form으로 이동  (0) 2013.09.26
코멘트용 js  (0) 2013.09.26