천객만래 [千客萬來] (It has an interminable succession of visitors)





기능이 제한된 프리웨어.. (상용임)
=================================================================================

무료로 사용가능한 기능

- javascript의 print와 같은 기능(프린트 대화창)

- page setup 호출

- print preview 미리보기 호출

- header/footer/marings /portrait 설정

- 프레임 지정 프린트

- 프린터 고르기 없이 직접 프린트


* 자바스크립트에 넣으시고..

function ThisWindowsPrint() {
with ( factory.printing ) 

header = ''; 
footer = ''; 
portrait = true; // true 세로출력 , false 가로출력
leftMargin = 0; 
rightMargin = 0; 
topMargin = 0; 
bottomMargin = 0; 
//printing.SetMarginMeasure(1); 
//printing.printBackground = true  //배경 및 이미지 인쇄

Print(true, window) // 첫번째 인자 : 대화상자표시여부 , 두번째인자 : 출력될 프레임
}
window.close();
}

* html 에 넣으시고...

<Object id='factory' viewastext style='display:none' classid='clsid:1663ed61-23eb-11d2-b92f-008048fdd814' codebase='http://www.meadroid.com/scriptx/ScriptX.cab#Version=6,1,432,1'>
</Object>


* 인쇄버튼 만드시고.. input으로 ... 레이어 만드시고 하셔도 되고요.. 
* 인쇄시 인쇄버튼이 나오면 안되니깐 클릭시 레이어 hidden 시키고 ThisWindowsPrint() 호출;;;

OnClick='ThisWindowsPrint()'

※ 딴지 - 공개용모듈이라 그런지 ActiveX가 죽지 않는 현상이 이따금 발생하여,
프로그램 에러가 발생입니다. 

파일은 여기서

MeadCo ScriptX 컴포넌트 사용 1. MeadCo 웹사이트에서 ScriptX.Cab을 다운 http://www.meadroid.com/scriptx/sxdownload.asp

 

------------------------------------

새페이지를 띄우지 않고 출력하는 방법

 

<HTML>
 <HEAD>
  <title>풀리백출력</title>
  <OBJECT id="factory" style="DISPLAY: none" codeBase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=6,1,429,14"
   classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext>
  </OBJECT>
  <script defer>
  {
  factory.printing.header = "";   // Header에 들어갈 문장
  factory.printing.footer = "";   // true 면 가로인쇄, false 면 세로 인쇄
  factory.printing.portrait = false;
  factory.printing.leftMargin = 0.4;   // 왼쪽 여백 사이즈
  factory.printing.topMargin =0.2; // 위 여백 사이즈
  factory.printing.rightMargin = 0.0;   // 오른쪽 여백 사이즈
  factory.printing.bottomMargin = 0.0;  // 아래 여백 사이즈
  //factory.printing.SetMarginMeasure(1); 
  // factory.printing.printBackground = true  //배경 및 이미지 인쇄
  }
  </script>
  <script>
 function printDiv () {
 if (document.all && window.print) {
  window.onbeforeprint = beforeDivs;
  window.onafterprint = afterDivs;
  //window.print();
  factory.printing.Print(true);
  }
 }
 function beforeDivs () {
 if (document.all) {
  objContents.style.display = 'none';
  objSelection.innerHTML = document.all['lblPrint'].innerHTML;
 }
 }
 function afterDivs () {
  if (document.all) {
   objContents.style.display = 'block';
   objSelection.innerHTML = "";
  }
 }

function Preview(){
 factory.printing.leftMargin = 0.4; // 왼쪽 여백 사이즈
 factory.printing.topMargin =0.2; // 위 여백 사이즈
 factory.printing.rightMargin = 0.0;  // 오른쪽 여백 사이즈
 factory.printing.bottomMargin = 0.0; // 아래 여백 사이즈

 factory.printing.portrait = false;
 factory.printing.Preview();
 
 }
  </script>
  <STYLE TYPE="text/css"> 
 .break { PAGE-BREAK-AFTER: always } 
  </STYLE>
 </HEAD>
<body>

...

<table style='Z-INDEX: 100; POSITION: absolute' align='center'>
     <TR>
      <TD align="center">
       <IMG style="CURSOR: hand" onclick='javascript:printDiv()' alt="프린트" src="../../image/print.gif">
       <IMG style="CURSOR: hand" onclick="javascript:self.close()" alt="창닫기" src="../../image/winclose.gif">
       <IMG style="CURSOR: hand" onclick="javascript:Preview()" src="../../image/btn_printt.gif"
        alt="프린터 설정">
      </TD>
     </TR>
    </table>
   </DIV>
   <DIV id="objSelection"><FONT face="굴림"></FONT></DIV>
</body>
</HTML>



Meadroid_ScriptX.zip


Posted by SB패밀리

[javascript] 배경 고정/스크롤 하기



배경 고정/스크롤 하기

- background-image : 배경이미지를 설정합니다.
-- url() : 해당 문서의 URL을 설정합니다.
  ex)background-image : url("image/patten.gif");
- background-attachment : 배경이미지의 고정/스크롤 유무를 설정합니다.
-- fixed : 배경이미지를 고정시킵니다.
-- scroll : 배경이미지를 스크롤시킵니다. 초기값입니다.
- background-repeat : 배경이미지의 반복유무를 설정합니다.
-- no-repeat : 반복하지 않습니다.
-- repeat : 바둑판식으로 반복합니다.
-- repeat-x : 가로식으로 반복합니다.
-- repeat-y : 세로식으로 반복합니다.





----------------------------------------------------------------------------------------



<html>
<head>

<style type="text/css">
<!--



p {
border : 2px #808060 solid;
font-weight : bold;
font-size : 9pt;
color : #d08050;
width : 140px;
height : 120px;
overflow : scroll;
background-image : url("http://cafefiles.naver.net/data23/2006/5/27/279/drop.jpg");
background-repeat : repeat; 
}



p.fixed { background-attachment : fixed; }



-->
</style>

</head>
<body>



<table cellpadding=10>

<tr>


<td>
<p>
움직여 봅시다.
<br><br><br><br><br><br>
배경이 움직입니다.
<br><br><br><br><br><br>
</p>
</td>



<td>
<p class="fixed">
움직여 봅시다.
<br><br><br><br><br><br>
배경이<br>
고정되었습니다.
<br><br><br><br><br><br>
</p>
</td>


</tr>

</table>



</body>
</html>



출처: 인터넷


Posted by SB패밀리



박스안 리스트설정

- list-style-position : 글머리의 위치를 지정합니다.
-- outside : 외곽선 바깥쪽에 글머리를 배치합니다.
-- inside : 외곽선 안쪽에 글머리를 배치합니다.
- list-style-image : 항목 앞에 이미지를 넣습니다.
-- url() : 해당이미지의 url을 넣습니다.
-- none : 이미지를 표시하지 않습니다.





----------------------------------------------------------------------------------------



<html>
<head>
<style type="text/css">
<!--



ul#dot_border {
background-color : wihite;
margin : 10px;
border : 3px #40b0e0 dotted;
padding : 10px;
width : 130px;
}



ul {
list-style-position : inside;
list-style-image : url("http://cafefiles.naver.net/data15/2006/4/25/151/ico_star.gif");
color : green;
}



-->
</style>
</head>
<body>



<ul id="dot_border">
<li> clipboard
<li> cellbox
<li> workbook
<li> package
</ul>



</body>
</html>

Posted by SB패밀리

트리구조 폴더만들기


윈도우즈 탐색기와 같은 트리구조의 폴더를 만듭니다.





----------------------------------------------------------------------------------------



<html>
<script language="JavaScript">
<!--



function list_view(divs, imgs) {  // 클릭여부에 폴더확장, 축소를 담당
var dspDiv = eval("document.all." + divs + ".style");
var dspImg = eval("document." + imgs);



if (dspDiv.display == "none") {
  dspImg.src = "openfolder.gif";
  dspDiv.display = "block";
} else {
  dspImg.src = "closedfolder.gif";
  dspDiv.display = "none";
}
}



-->
</script>



<body>



<div name="item1" style="cursor:hand" onclick="list_view('div1', 'img1')">
<table cellpadding=0 cellspacing=0 style="font-size:9pt; color:blue;">

<tr>
  <td><img name="img1" src="closedfolder.gif"></td>
  <td>사용하는 포털사이트</td>
</tr>
</table>
</div>



<div id="div1" style="display:none">
<table cellpadding=0 cellspacing=0 style="font-size:9pt;">
<tr>
  <td><img src="lastnode.gif"><img src="link.gif"></td>
  <td><a href="http://www.naver.com">네이버</a></td>
</tr>
</table>
</div>



<div name="item2" style="cursor;hand" onclick="list_view('div2', 'img2')">
<table cellpadding=0 cellspaciing=0 style="font-size:9pt; color:blue;">
<tr>
  <td><img name="img2" src="closedfolder.gif"></td>
  <td>그외 포털사이트</td>
</tr>
</table>
</div>



<div id="div2" style="display:none;">
<table border=0 cellpadding=0 cellspacing=0 style="font-size:9pt;">
<tr>
  <td><img src="node.gif"><img name="sub2_img1" src="link.gif"></td>
  <td width=100><a href="http://www.google.co.kr">구글</td>
</tr>
<tr>
  <td><img src="lastnode.gif"><img name="sub2_img2" src="link.gif"></td>
  <td width=100><a href="http://www.empas.com">엠파스</a></td>
</tr>
</table>
</div>



</body>
</html>





treefold.zip


Posted by SB패밀리

출처: 인터넷



미디어 플레이어 객체 제어하기
* 조절메서드
  - Pause() : 일시정지합니다.
  - Play() : 재생합니다.
  - Stop() : 중지합니다.
  - Next() : 다음으로 이동합니다.
  - Previous() : 이전으로 이동합니다.
* PlayState속성 - 재생, 중지, 일시정지 중인지의 상태를 알아냅니다.
  -- mpStopped : [0] 재생이 중지된 상태
  -- mpPaused : [1] 재생이 일시정지된 상태
  -- mpPlaying : [2] 재생중인 상태
  -- mpWaiting : [3] 시작하기 위해서 기다리는 상태
  -- mpScanForward : [4] 재생흐름을 다음으로 이동
  -- mpScanReverse : [5] 재생흐름을 이전으로 이동
  -- mpSkipForward : [6] 다음 단계로 이동
  -- mpSkipReverse : [7] 이전 단계로 이동
  -- mpClosed : [8] 재생닫혀있는 상태
* DisplaySize속성 - 화면크기를 조절합니다.
  -- mpDefaultSize : [0] 기본크기
  -- mpHalfSize : [1] 기본크기에서 1/2크기
  -- mpDoubleSize : [2] 기본크기에서 두배로 확대한 크기
  -- mpFullScreen : [3] 화면 전체크키
  -- mpFitToSize : [4] 사용자가 디자인한 크기
  -- mpOneSixteenScreen : [5] 전체화면의 1/16크기
  -- mpOneFourthScreen : [6] 전체화면의 1/4크키
  -- mpOneHalfScreen : [7] 전체화면의 1/2크기
* Mute속성 - 소리를 끄거나 켜기위해 사용됩니다.
   Boolean값이 True이면 소리가 꺼진 상태이고 False이면 소리가 켜진 상태입니다.

# 윈도우 미디어플레이어 속성
AllowChangedDisplayMode 초단위, 프레임 단위로 최종 사용자가 디스플레이 모드를 실행시 변경할 수 있는지를 나타낸다.
AllowHideControls 최종 사용자가 컨트롤 패널을 실행시 감출 수 있는지를 나타낸다. 
AllowHideDisplay 최종 사용자가 디스필레이를 실행시 감출 수 있는지를 나타낸다. 
Apperance 디스플레이 패널의 경계의 모양을 지정한다. 1=inset border 패인모양, 0=무경계 
AutoRewind 파일의 재생이 끝났을 때 자동으로 되감기를 할 것인지를 표시한다.
AutoStart 웹페이지를 열면 자동으로 재생을 시작할 것인지를 표시한다.
Balance 소리의 균형을 나타낸다. 0=균형, -10,000=왼쪽스피커만 사용, 10,000=오른쪽 스피커만 사용 
BorderStyle 컨트롤 경계 스타일을 지정한다. 0=무사용, 1=고정된 싱글 경계 
CurrentPosition 재생 파일에서의 현 위치를 초 단위로 나타낸다. 
CurrentState 플레이어의 현 상태를 나타낸다. 0=정지, 2=재생, 1=일시정지 
DisplayBackColor 디스플레이 패널의 배경색을 나타낸다. 
DisplayForeColor 디스플레이 패널의 전경생을 나타낸다. 
DisplayMode 디스플레이 패널에 초단위 또는 프레임 단위로 현위치를 디스플레이할지를 나타낸다. 0=초, 1=프레임 
EnableContextMenu 단축 메뉴를 활성화시킬지를 나타낸다.
Enabled 컨트롤이 활성화되었는지를 나타낸다.
EnablePositionControls 컨트롤 패널에 위치 버튼을 보여줄 것인지를 표현한다.
EnableSelectControls 컨트롤 패널에 선택 버튼을 보여줄 것인지를 표현한다.
EnableTracker 컨트롤 패널에 트랙바 컨트롤을 보여줄 것인지를 표시
FileName 재생될 멀티미디어 파일을 지정한다. 
FullScreenMode 모니터 전체의 크기로 멀티미디어를 표시한다. 
MovieWindowSize 재생 패널의 크기를 결정한다. 0=원래크기, 1=원래크기의 2배, 2=화면의 1/6크기, 3=화면의 1/4 
PlayCount 재생할 횟수를 지정한다. 
Rate 재생 비율을 결정한다. 
ReadyState 소스 파일을 얼마나 로드했는가에 따른 Active Movie Control의 준비 상태를 나타낸다. 
SelectionEnd 파일의 처음에서부터 종료 위치를 초 단위로 지정한다. 
SelectionStart 파일의 처음에서부터 시작 위치를 초 단위로 지정한다. 
ShowControls 컨트롤 패널 표시 여부를 지정한다.
ShowDisplay 디스플레이 패널 표시 여부를 지정한다.
ShowPositionControls 위치 컨트롤의 표시 여부를 지정한다.
ShowSelectControls 선택 컨트롤의 표시 여부를 지정한다.
ShowTracker 트랙바의 표시 여부를 지정한다.
Volume 데이벨의 100분의 1 단위로 볼륨을 지정한다.
.. 그외 자세한 사항은 MSDN:Windows Media Player Properties를 참고하기 바랍니다.



----------------------------------------------------------------------------------------



<html>
<script language="JavaScript">
<!--



function mmp_state() {  /* 재생상태를 출력 */
switch(mmp.PlayState) {
  case 0 : frm1.state.value = "중지상태";
   break;
  case 1 : frm1.state.value = "일시중지";
   break;
  case 2 : frm1.state.value = "실행중";
   break;
}
}



function mmp_play() {  /* 재생 */
if (mmp.Filename!="")
  mmp.Play();
mmp_state();
}



function mmp_stop() {  /* 멈춤 */
if (mmp.Filename!="")
  mmp.Stop();
mmp_state();
}



function media_size(my_sel) {  /* 화면크기조정 */
switch(my_sel) {
  case 0 : mmp.DisplaySize = 0;
   break;
  case 2 : mmp.DisplaySize = 2;
   break;
  case 3 : mmp.DisplaySize = 3;
   break;
}
}



function mmp_pause() {  /* 일시멈춤 */
if (mmp.Filename!="")
  mmp.Pause();
mmp_state();
}



function mmp_sound() {  /* 소리제어 */
if (mmp.Filename!="") {
  if (mmp.Mute == true) {
   mmp.Mute = false;
   frm1.sound.value = "소리켬";
  } else {
   mmp.Mute = true;
   frm1.sound.value = "소리끔";
  }
}
}



-->
</script>



<body>
<div align="center">

<object classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" codeBase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" id="mmp" style="left:0px; top:0px; width:320px; height:240;">
<param name="AudioStream" value=-1>
<param name="AutoSize" value=-1>
<param name="AutoStart" value=-1>  <!-- 웹페이지를 열면 자동으로 재생을 시작할 지 설정 -->
<param name="AnimationAtStart" value=-1>
<param name="AllowScan" value=-1>
<param name="AllowChangeDisplaySize" value=-1>
<param name="AutoRewind" value=0>  <!-- 파일의 재생이 끝났을 때 자동으로 되감기를 할 지 설정 -->
<param name="Balance" value=0>  <!-- 스피커의 음량분배, 0=균형, -10,000=왼쪽스피커만 사용, 10,000=오른쪽 스피커만 사용  -->
<param name="BaseURL" value="">
<param name="BufferingTime" value=5>
<param name="CaptioningID" value="">
<param name="ClickToPlay" value=-1>
<param name="CursorType" value=0>
<param name="CurrentPosition" value=1>  <!-- 재생 파일에서의 현 위치를 초 단위로 나타낸다.  -->
<param name="CurrentMaker" value=0>
<param name="DefaultFrame" value="">
<param name="DisplayBackColor" value=0>  <!--  디스플레이 패널의 배경색을 나타낸다.  -->
<param name="DisplayForeColor" value="16777215">  <!-- 디스플레이 패널의 전경색 -->
<param name="DisplauMode" value=0>  <!-- 디스플레이 패널에 초단위 또는 프레임 단위로 현위치를 디스플레이할지를 나타낸다. 0=초, 1=프레임 -->
<param name="DisplaySize" value=0>
<param name="Enabled" value=-1>  <!-- 컨트롤이 활성화되었는지를 나타낸다. -->
<param name="EnableContextMenu" value=-1>  <!-- 단축 메뉴를 활성화시킬지를 나타낸다. -->
<param name="EnablePositionControls" value=-1>  <!-- 컨트롤 패널에 위치 버튼의 출력설정 -->
<param name="EnableFullscreenControls" value=0>
<param name="EnableTracker" value=-1>  <!-- 컨트롤 패널에 트랙바 컨트롤을 보여줄 지를 표시 -->
<param name="Filename" value="king_1118.asf">  <!-- 재생될 멀티미디어 파일을 지정한다. -->
<param name="InvokeURLs" value=-1>
<param name="Language" value=-1>
<param name="Mute" value=0>
<param name="PlayCount" value=1>  <!-- 재생할 횟수를 지정한다.  -->
<param name="PreviewMode" value=0>
<param name="Rate" value=1>  <!-- 재생 비율을 결정한다.  -->
<param name="SAMILang" value="">
<param name="SAMIStyle" value="">
<param name="SAMIFileName" value="">
<param name="SelectionStart" value=-1>  <!-- 파일의 처음에서부터 시작 위치를 초 단위로 지정 -->
<param name="SelectionEnd" value=-1>  <!--  파일의 처음에서부터 종료 위치를 초 단위로 지정 -->
<param name="SendOpenStateChangeEvents" value=-1>
<param name="SendWarnigEvents" value=-1>
<param name="SendErrorEvents" value=-1>
<param name="SendKeyboardEvents" value=0>
<param name="SendMouseClickEvents" value=0>
<param name="SendMouseMoveEvents" value=0>
<param name="SendPlayStateChangeEvents" value=-1>
<param name="ShowCaptioning" value=0>
<param name="ShowControls" value=0>  <!-- 컨트롤 패널 표시 여부를 지정한다 -->
<param name="ShowAudioControls" value=0>
<param name="ShowDisplay" value=0>  <!-- 디스플레이 패널 표시 여부를 지정한다.  -->
<param name="ShowGotoBar" value=0>
<param name="ShowPositionControls" value=0>  <!--  위치 컨트롤의 표시 여부를 지정한다.  -->
<param name="ShowStatusBar" value=0>
<param name="ShowTracker" value=-1>  <!-- 트랙바의 표시 여부를 지정한다. -->
<param name="TransparentAtStart" value=0>
<param name="VideoBorderWidth" value=0>
<param name="VideoBorderColor" value=0>
<param name="VideoBorder3D" value=0>
<param name="Volume" value=-600>  <!-- 데시벨의 100분의 1 단위로 볼륨을 지정한다.  -->
<param name="WindowlessVideo" value=0>
</object>



<form name="frm1">
<input type="button" name="play" value="실행" onClick="mmp_play()">
<input type="button" name="stop" value="중지" onClick="mmp_stop()">
<input type="button" name="next" value="일시중지" onClick="mmp_pause()">
<input type="button" name="sound" value="소리 켬" onClick="mmp_sound()">
<br><br>
<input type="button" name="size1" value="기본크기" onClick="media_size(0)">
<input type="button" name="size2" value="두배크기" onClick="media_size(2)">
<input type="button" name="size3" value="전체크기" onClick="media_size(3)">
<br><br>
상태 : <input type="text" name="state" value="실행중">

</form>



</div>
</body>
</html>

Posted by SB패밀리






# 미디어 플레이어의 화면구조
ⓐ ShowTracker : 진행도를 알 수 있는 패널조절바를 보여줄 지 설정합니다.
ⓑ ShowControls : 실행, 중지, 일시중지가 있는 조절판을 보여줄지 설정합니다.
ⓒ ShowPositionControls : 이전, 이후 탐색이 있는 조절판을 보여줄 지 설정합니다.
ⓓ ShowAudioControls : 소리와 볼륨조절기를보여줄 지 설정합니다.
ⓔ ShowGotoBar : 실행바를 보여줄 지 설정합니다.
ⓕ ShowDisplay : 하단정보창을 보여줄 지 설정합니다.
ⓖ ShowStatusBar : 하단 상태바를 보여줄 지 설정합니다.

각 속성은 부울(Boolean:True, False와 같이 논리적인 값)값을 이용하여 설정합니다. True이면 보여주고 False이면 사라집니다. Param태그의 value속성이 0이면 False를 의미하고, -1이면 True를 의미합니다.

:: object태그 :: ActiveXControl을 사용하기위해 사용됩니다.
- classid : 해당연결프로그램의 레지스트리 고유인식번호를 설정합니다.
- codeBase : 해당연결프로그램의 버전을 검색하고 필요시 업그레이드하는 정보를 담고 있습니다.
대표적인 ActiveXControl인 MediaPlayer와 FlashPlayer의 codeBase는 MicroSoft ActiveX Controls Gallery에서 검색할 수 있습니다.
:: param태그 :: 해당 ActiveXControl의 정보/설정기능을 제공합니다.

* classid는 다음과 같이 확인할 수 있습니다.






----------------------------------------------------------------------------------------



<html>
<body>
<div align="center">


<object classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" codeBase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" id="mmp"
style="width:315; height:430;">
<param name="Filename" value="king_1118.asf">
<param name="ShowTracker" value=-1>
<param name="ShowControls" value=-1>
<param name="ShowPositionControls" value=-1>
<param name="ShowAudioControls" value=-1>
<param name="ShowGotoBar" value=-1>
<param name="ShowDisplay" value=-1>
<param name="ShowStatusBar" value=-1>
</object>


</div>
</body>
</html>



출처: 인터넷

Posted by SB패밀리





주민번호검증하기2

- charCodeAt() : 해당인덱스에 해당하는 문자의 ascii코드값을 반환합니다.
- substring(x, y) : 인덱스[x]값에서부터 인덱스[y]값이전까지의 문자열을 반환합니다.



* 주민등록번호의 공식
주민등록번호의 13자리로 이루어져 있습니다.
- 처리1 : [첫번째번호*2] + [두번째번호*3] + [세번째번호*4] + [네번째번호*5] + [다섯번째번호*6]
    + [여섯번째번호*7] + [일곱번째번호*8] + [여덟번째번호*9] + [아홉번째번호*2] + [열번째번호*3]
    + [열한번째번호*4] + [열두번째번호*5]의 합
- 처리2 : [처리1값] % 11
- 처리3 : [[처리1값] - [처리2값]] + 11 - [처리1값]
- 처리4 : [처리3값] % 10
- 처리5 : [처리3값] - [[처리3값] - [처리4값]]





----------------------------------------------------------------------------------------



<html>
<script language="JavaScript">
<!--



function name_check(ch_name) {  /* 이름체크 */
var len = ch_name.length;



if (len < 2) {  /* 이름은 두자이상 */
  alert("이름이 잘못되었습니다.");
  frm1.myname.focus();
  return false;
}



for (i=0; i<len; i++) {
  var mycode = ch_name.charCodeAt(i);  /* 해당인덱스 문자의 ascii코드값 */



  if (mycode < 128) {  /* 128이상은 한글 */
   alert("한글 이름으로 입력하세요");
   frm1.myname.focus();
   return false;
  }
}


return true;
}



function jumin_check(ssn_jumin) {  /* 주민번호 확인 */
var ssn_num = new Array();
var ssn_jumin1 = new String(ssn_jumin);  /* 입력된 숫자의 문자열화 */



if (ssn_jumin1.length != 13) {
  alert("주민등록번호 13자리인지를 확인하여 주십시오");
  frm1.jumin1.focus();
  return false;
}



for (var i=0; i<=12; i++)
  ssn_num[i] = ssn_jumin1.substring(i, i+1);  /* [i]에서 [i+1]까지 문자를 추출 */



/* 주민등록번호 공식의 시작 */
var sum = 2*ssn_num[0] + 3*ssn_num[1] + 4*ssn_num[2] + 5*ssn_num[3];
sum += 6*ssn_num[4] + 7*ssn_num[5] + 8*ssn_num[6] + 9*ssn_num[7];
sum += 2*ssn_num[8] + 3*ssn_num[9] + 4*ssn_num[10] + 5*ssn_num[11];

var r1 = sum % 11;
var temp = (sum-r1) + 11 - sum;
var r2 = temp % 10;
var temp1 = temp - (temp-r2);
/* 주민등록번호 공식의 끝 */



if (ssn_num[12] != temp1) {  /* 해당 주민번호를 검증 */
  alert("올바른 주민등록번호가 아닙니다.");
  return false;
}



return true;
}



function frm_check() {  /* 각 함수를 호출/확인한다. */
var jumin_name = frm1.myname.value;
var jumin_num = frm1.jumin1.value + frm1.jumin2.value;



if (name_check(jumin_name) == false)
  return false;

if (jumin_check(jumin_num) == false)
  return false;

}



-->
</script>



<body onload="frm1.myname.focus();">
<table border=1 cellpadding=5 cellspacing=2 bordercolor="#bbddaa">
<form name="frm1" onsubmit="return frm_check()">



<tr>
<td bgcolor="#aacc99" align="center">이 름</td>
<td bgcolor="#cceebb"><input type="text" name="myname" maxlength=10 size=10></td>
</tr>
<tr>
<td bgcolor="#aacc99">주민등록번호</td>
<td bgcolor="#cceebb">
  <input type="text" name="jumin1" maxlength=6 size=6>-
  <input type="text" name="jumin2" maxlength=7 size=7>
</td>
</tr>
<tr>
<td colspan=2 align="center">
  <input type="submit" value=" 확인 ">
</td>
</tr>



</form>
</table>
</body>
</html>


출처: 인터넷

Posted by SB패밀리







사업자등록번호 검증하기

- isNuN() : 해당값이 문자인지 숫자인지 파악합니다. 숫자가 아니면 true값을 반환합니다.
- parseInt(변수, 한계값) : 해당값의 소수부분을 버림합니다.



* 전기신호의 0, 1이 off, on를 의미하듯이 javascript의 0은 false, 그 외 다른 수는 true를 의미합니다.



* 사업자 등록번호 공식
사업자번호는 총 10자리로 이루어져 있습니다.
처리1 ; 아홉번째 번호 *5
처리2 : [처리1] /10
처리3 : [처리1] %10 (나눈 목의 나머지값)
처리4 : (첫번째번호*1) + (두번째번호*3) + (세번째번호*7) + (네번째번호*1) + (다섯번째번호*3)
   + (여섯번째번호*7) + (일곱번째번호*1) + (여덟번째번호*3) + (열번째번호*1) + [처리2] + [처리3]
처리5 : [처리4]에서 구해진 결과값을 10으로 나누어 나머지가 0이면 사업자 등록번호가 맞습니다.





----------------------------------------------------------------------------------------



<html>
<script language="JavaScript">
<!--



function sa_check() {

var num = (frm1.num1.value + frm1.num2.value + frm1.num3.value);



if (num.length < 1) {  /* 아무것도 입력하지 않으면 에러 */
  alert("사업자 번호를 입력하세요.");
  frm1.num1.focus();
  return false;
}



if (isNaN(num)) {  /* 숫자가 아니면 에러 */
  alert("숫자만 입력하세요");
  frm1.num1.focus();
  return false;
}



var w1, w2, w3, wt;  /* 사업자번호 공식의 시작↓ */



w1 = num.charAt(8) *5;
w2 = parseInt((w1/10), 10);  /* 소수부분을 제거 */
w3 = w1 %10;



wt = num.charAt(0) *1 + num.charAt(1) *3 + num.charAt(2) *7;
wt += num.charAt(3) *1 + num.charAt(4) *3 + num.charAt(5) *7;
wt += num.charAt(6) *1 + num.charAt(7) *3 + num.charAt(9) *1;
wt += (w2 + w3);



if (!(wt %10)) {  /* 0은 false, 이외 숫자는 true입니다. !는 not을 의미합니다. */
  return true;
}
else {
  alert("규칙에 맞지 않는 사업자 등록번호입니다.");
  frm1.num1.focus();
  return false;
}

return true;
}



-->
</script>



<body onload="frm1.myname.focus()">
<form name="frm1" onsubmit="return sa_check()">
<table border=1 bordercolor="#cc9999" cellpadding=3 cellspacing=3>



<tr>
<td width=120 bgcolor="#ccaaaa" align="center">대표자</td>
<td width=150 bgcolor="#eeccbb" align="center">
  <input type="text" name="myname" size=10 maxlength=10>
</td>
</tr>
<tr>
<td bgcolor="#ccaaaa" align="center">사업자 등록번호</td>
<td bgcolor="#eeccbb" align="center">
  <input type="text" name="num1" size=3 maxlength=3>-
  <input type="text" name="num2" size=2 maxlength=2>-
  <input type="text" name="num3" size=5 maxlength=5>
</td>
</tr>
<tr>
<td colspan=2 align="center">
  <input type="submit" value=" 확인 ">
</td>
</tr>



</table>
</form>
</body>
</html>

Posted by SB패밀리

문서로딩시간 확인하기

secTime_a변수를 이용하여 최초 시간을 저장한 후 secTime_b변수를 이용하여 html문서를 읽은 후의 시간을 저장합니다. 그런 다음 secTime_b에서 secTime_a로 빼주면 로딩시간을 구할 수 있습니다.





----------------------------------------------------------------------------------------



<html>
<script language="JavaScript">
<!--



var fromTime = new Date();
var secTime_a = fromTime.getTime();



function loading_time() {
var toTime = new Date();
var secTime_b = toTime.getTime();
var secs = (secTime_b - secTime_a) / 1000;



frm1.times1.value = secs + "초";
}



-->
</script>



<body onload="loading_time()">

<form name="frm1">
문장을 읽어오는 데 걸리는 시간 : 
<input type="text" name="times1" size=15>
</form>

</body>
</html>

Posted by SB패밀리

거치식/적립식 복리계산기



거치식/적립식 복리계산기를

 

웹 페이지로 만들었습니다.



복리계산기.zip


팁...


72법칙이라고 아시죠?

복리와 투자수익에 관련된 것으로 자주 나오는 법칙입니다.

알아두면 좋겠죠?


72법칙이라고 하면 복리로 현재 자신이 가지고 있는 자산이 두 배로 늘어나는데 걸리는 시간

또는 일정 기간 내에 원금을 두 배로 늘리는데 얼마의 수익률이 필요한지를 알려주는 법칙입니다.


소요되는 기간을 계산하면


72 ÷ 수익률(%) = 기간(년)

ex) 5% 수익률로 원금을 두 배 늘리는데 필요한 기간은

72 ÷ 5 = 14.4년


필요한 수익률 계산


72 ÷ 기간(년) = 수익률(%)

ex) 10년 뒤에 원금을 두 배로 만들려면 

72 ÷ 10 = 7.2%







Posted by SB패밀리


자바스크립트 소스 모듈 라이브러리





* 입력값이 숫자인지를 확인한다. (' '까지 괜찮음)

* param : sVal 입력스트링 

* return : Boolean True이면 숫자값 

function isNumberSpace(sVal)



* sVal 값이 숫자인지를 확인한다.('.'까지 괜찮음)

* param : sVal 입력스트링

* return : Boolean  True이면 숫자값

function isNumberSpace(sVal)



* 입력값의 앞에 정해진 자리수만큼 0을 채운다.  

* param : sVal 입력스트링, iSize

* return : String

function fillZero(sVal, iSize) 




* 길이가1인 경우 앞에 "0"을 붙인다.

* param : sVal 입력스트링

* return : String  "0"값을 포함하는 값

function addZero(sVal)




* 날짜 여부를 확인한다.(월일 or 년월 or 년월일)

* param : sYmd 입력스트링(MMDD or YYYYMM or YYYYMMDD)

* return : Boolean true이면 날짜 범위임

* 수정   : 월이나 일에 00 입력시 스크립트 에러. trimZero 부분을 function isDate(sYmd)



* 날짜 여부를 확인한다.(년월일)

* param : sYmd 입력스트링(YYYYMMDD)

* return : Boolean true이면 날짜 범위임

function isDateYMD(sYmd)




* 날짜 여부를 확인한다.(월일)

* param : sMD 입력스트링(MMDD)

* return : Boolean true이면 날짜 범위임

function isDateMD(sMD)



* 날짜 여부를 확인한다.(년월)

* param : sYM 입력스트링(YYYYMM)

* return : Boolean true이면 날짜 범위임

function isDateYM(sYM)



* 년월을 입력받아 마지막 일를 반환한다(년월)

* param : sYM 입력스트링(YYYYMM)

* return : String 해당월의 마지막날

function lastDay(sYM)



* 대소문자를 포함한 영문자인지 확인한다.

* param : sVal 입력문자열

* return : Boolean true이면 알파벳

function isAlpha(sVal)



* 영문자와 숫자 구성된 문자열인지 확인

* param : sVal 입력문자열

* return : Boolean true이면 영문자,숫자로 구성된 문자열

function isAlphaNumeric(sVal)



* 문자열의 길이를 return (한글:2자)

* param : sVal 입력문자열

* return : int 입력문자열의 길이

function strLength(sVal)




* 문자열 길이 체크

* param : str 필드객체, field 필드명

* return : boolean 

function chkStrLength(str,field) 




* 한글이지 여부 체크

* param : sVal 입력문자열

* return : Boolean true이면 한글

function isHangul(sVal)




* 입력받은 날짜로부터 몇일 후의 날짜를 반환하기

* param : ObjDate객체, 일수, 결과Data객체

* return : 

function calcDate(objDate,iDay,objResultDate)



* 숫자 0으로 초기화 된 1차원 배열을 생성한다.

* param : iSize 배열 크기

* return : this 배열

function makeArray(iSize)



* 숫자 분리자(,)(.)가 있는 숫자이거나 일반숫자형태인지 검사한다.

* param : sVal

* return : Boolean 

function isMoneyNumber(sVal)



* 숫자 분리자(,)만 있는 숫자이거나 일반숫자형태인지 검사한다.

* param : sVal

* return : Boolean 

function isMoneyNumber2(sVal)



* 숫자 분리자(.)만 있는 숫자이거나 일반숫자형태인지 검사한다.

* param : sVal

* return : Boolean 

function isMoneyNumber3(sVal)



* 숫자 분리자(.)만 있는 숫자인지 검사한다.

* param : sVal

* return : Boolean 

function isMoneyNumber4(sVal){    




* 소수점이 있는 숫자이면서 정해진 자릿수에 맞는 형식인지 확인다.  

* param : sVal 입력객체, iSize1 정수자릿수, iSize2 소수자릿수

* return : boolean

function isMoneyNumber5(sVal, iSize1, iSize2) 



* 소수점 숫자표현(소수점 위의 3자리마다 "," 맞춤)

* param : val

* return : String

function getMoneyType(val)



* 부호가 있는 소수점 숫자표현(소수점 위의 3자리마다 "," 맞춤)

* param : val

* return : String

function getSignMoneyType(val)





* 콤마를 제거한 숫자형태 문자열로 반환(부호와 소수점도 없앰)

* param : val

* return : String

function getOnlyNumber(val)



* 콤마를 제거한 숫자형태 문자열로 반환(부호, 소수점 그대로)

* param : val

* return : String

  function getOnlyNumberDot(val)





* 콤마를 제거한 부호가 있는 숫자형태 문자열로 반환

* param : val

* return : String

function getOnlySignNumber(val)




  

* 앞뒤 공백을 제거한다.

* param : sVal

* return : String

function Trim(sVal)



* 앞 공백을 제거한다.

* param : sVal

* return : String

function LTrim(sVal)



* 뒤 공백을 제거한다.

* param : sVal

* return : String

function RTrim(sVal)






// DESCRIPTION  : 공백문자 제거

// 함수명       : MTrim(공백이 있는 문자열)

// Return Value : 공백이 제거된 문자열

function MTrim(sVal){



* 공백만 존재하거나 아무것도 없는지 확인한다.

* param : sVal

* return : boolean (true이면 공백이나 Empty이다)

function isEmpty(sVal){



* 현재 컨트롤과 MaxLength 받아서 MaxLength 되면 

   다음 컨트롤로 이동

* param : objCurrent, objNext

* return : 

function focusMove(objCurrent, objNext)



* 현재 컨트롤과 MaxLength 받아서 MaxLength 되면 

   다음 컨트롤로 이동(선택)

* param : objCurrent, objNext

* return : 

function focusMoveSelect(objCurrent, objNext)



* 완료된 날짜값에 대해 "/" 추가

* param : me(value)

* return : String

function calOnMask(me){



* 날짜값 "/" 제거

* param :  me(value)

* return : String "/" 제거된 날짜값

function calOffMask(me){





* 날짜값 자동 "/" 붙임.(완성된 날짜값에 대해 /붙임)

* param : 

* return : 

function cal_value2(me){



* 오늘 날짜 생성 ( "/" 붙여서 리턴)

* param : 

* return : todate

function todate() {





Spec     : 숫자입력시 3자리마다 자동으로 콤마 찍기

Argument : string

Return   : string

Example  : onkeyup="comma_value(this)"

function comma_value(sval)




Spec     : 숫자입력시 3자리마다 자동으로 콤마 찍기

Argument : string

Return   : string

Example  : onkeyup="comma_value(str)"

function formatNumbertoString(cur)



  

// 숫자만 입력 (소수점 허용, 음수 허용)

// 사용법 : onKeyPress = onlyNum();

function onlyNum()



// 숫자만 입력 (소수점 허용, 음수 불가)

// 사용법 : onKeyPress = onlyNum2();

function onlyNum2()





// 숫자만 입력 (소수점 불가, 음수 허용)

// 사용법 : onKeyPress = onlyNum3();

function onlyNum3()



// 숫자만 입력 (소수점 불가, 음수 불가)

// 사용법 : onKeyPress = onlyNum4();

function onlyNum4() 









* 입력완료된 숫자값에 대하여 콤마를 찍어줄때 사용

   (소수점 이하 처리 안됨)

* 콤마 형식을 사용할 경우에는 onkeyup이벤트로 사용하기 바라며,

* 다음의 펑션을 호출할때는 comma_value(me) 펑션을 호출하기 바람.

* param : value

function numOnMask(me){



* 콤마가 들어간 숫자에서 ","를 뺀다.

* param : value

function numOffMask(me){





// 입력 완료된 숫자 값에 컴마를 적용하여준다

(소수점 이하는 "," 안 붙음)

// return : String

function numOnMask2(me){ 



// 입력 완료된 숫자 값에 컴마를 적용하고 소수점 이하는 삭제한다

// return : String

function numOnMask3(me){ //단순히 값에 컴마를 적용할때 사용



* 입력값을 소수점 이하 몇 자리까지 보여줄지 정한다.  

* 소수점 이하 자리수가 입력된 값보다 작으면 0으로 채운다.

* param : sVal 입력스트링, iSize 소수자릿수

* return : String

function numOnMask4(sVal,iSize) 



* 입력값에 마스킹을 적용한다.

   (소수점 이하와 부호를 삭제하고 콤마추가)

* param : sVal 입력스트링

* return : String

function numOnMask5(sVal) 




* 입력값에 마스킹을 적용한다.

   (부호를 삭제하고 콤마추가. 소수점은 그대로 둠)

* param : sVal 입력스트링

* return : String

function numOnMask6(sVal) 





* 숫자 외의 값이 입력되어있으면 false 리턴

* param : sval (object)

* return :

function onlyNumber(sval) {





* 특수문자 값이 입력되었는지 체크(특수문자가 있으면 false 리턴)

* param : sval (object)

* return :

function chkValidChar(sval) { 






*

* 윈도우 오픈1 (사용자 지정 위치생성) 

* param : wUrl                지정url

* param : wTitle        지정타이틀

* param : wTop                지정 창 높이정렬기준

* param : wLeft   지정 창 왼쪽정렬기준

* param : wWidth        창넓이

* param : wHeight        창높이

* param : wSco                스크롤바 생성유무, 1:생성 0:비생성

function win_open(wUrl,wTitle,wTop,wLeft,wWidth,wHeight,wSco)  



*

* 윈도우 오픈2 (무조건 가운데 생성)

* param : wUrl                지정url

* param : wTitle        지정타이틀

* param : wWidth        창넓이

* param : wHeight        창높이

* param : wSco                스크롤바 생성유무, 1:생성 0:비생성

function win_open2(wUrl,wTitle,wWidth,wHeight,wSco) 



*

* 윈도우 오픈3 (무조건 전체 생성)

* param : wUrl                지정url

* param : wTitle        지정타이틀

* param : wWidth        창넓이

* param : wHeight        창높이

* param : wSco                스크롤바 생성유무, 1:생성 0:비생성

function win_open3(wUrl,wTitle) 








/**

* 두 날짜에 며칠 차이나는지 구함

* from_val이 to_val보다 크면 -붙여서 리턴

*/

function getDayInterval(from_val,to_val) 



JCommon.zip


Posted by SB패밀리





입력양식에서 포커스 자동이동하기



- onkeyup : 키를 눌렀다 떼면 이벤트를 호출합니다.
- onkeypress : 키를 누르면 이벤트를 호출합니다.
- returnValue : 이벤트 핸들러의 처리상태를 설정합니다.



* 이벤트 핸들러
onkeypress = "post_num()"
예를 들어 위와 같이 "키를 누르면(onkeypress)를 함수(post_num())를 호출한다"는 부분에서 "키를 누르면(onkeypress)"와 같은 조건부분.





----------------------------------------------------------------------------------------



<html>
<script language="JavaScript">
<!--



function post_num() {
/* ASCII code값  '0'=48, '1'=49, '2'=50, ... '9'=57 */
if ((event.keyCode<48) || (event.keyCode>57))
  event.returnValue=false;
}



function js_tab_order(arg, nextname, len) {
if (arg.value.length == len) {
  nextname.focus()
  return;
}
}



-->
</script>



<body onload="frm1.post1.focus()">
<form name="frm1">
<table border=1 cellpadding=1 cellspacing=2 bordercolor="#aaccdd">


<tr>
  <td width=70 bgcolor="#aaddff" align="center">우편번호</td>
  <td width=100 bgcolor="#ddeeff" align="center">
  <input type="text" name="post1" maxlength=3 size=3
   onkeyup="js_tab_order(this, frm1.post2, 3)"
   onkeypress="post_num()">
-
  <input type="text" name="post2" maxlength=3 size=3
   onkeyup="js_tab_order(this, frm1.post1, 3)"
   onkeypress="post_num()">
  </td>
  <td width=230 bgcolor="#ddeeff" align="center">세 글자를 치면 자동으로 이동합니다.</td>
</tr>
</table>
</form>
</body>



</html>

Posted by SB패밀리

자바스크립트 개발에서 자식창에서 부모창이 갖고 있는 이벤트를 실행하는 방법입니다.

-----------------------------------

자식창에 있는 값을 부모창에 바로 반영하고 싶을 경우
보통 스트립트로 자식창의 값을 부모창에 넘긴다음
부모창의 변경된 내용을 submit시킴으로써 일괄적으로 처리합니다.

하지만 가끔 자식창에서 부모창으로 값을 넘기면서 바로 DB처리를 해야 할 경우가 있을지도 모릅니다. 그럴때 이용하는 방법입니다.

다음은 자식창에서 입력한 텍스트값을 부모창의 링크버튼 이벤트를 이용하여
부모창의 리스트박스에 추가하는 소스로 두가지 방법을 사용해서 만들어 보았습니다.

자세한 내용은 첨부한 소스코드를 참고하세요.

 

--- 아래는 팝업페이지의 소스코드 일부입니다..

 

  <script language="javascript">
  <!--
   // __doPostBack에 인지값을 직접 넘기는 방법
   function ListBoxAdd1()
   {
    var strValue = document.all["txtValue"].value;
    opener.__doPostBack('lnkEvent1', strValue);
   }
   
   // 부모창의 hidden input 으로 넘겨서 받는 방법
   function ListBoxAdd2()
   {
    opener.document.all["hidValue"].value = document.all["txtValue"].value;
    opener.__doPostBack('lnkEvent2', '');
   }
  //-->
  </script>

 

   <INPUT type="text" id="txtValue">
   <INPUT type="button" value="추가(방법1)" onclick="ListBoxAdd1();">
   <INPUT type="button" value="추가(방법2)" onclick="ListBoxAdd2();">

 

-- 아래는 부모창의 소스코드 일부입니다.

-- 자식창에서 __doPostBack을 사용하시려면 링크버튼을 이용하시는게 편리합니다.

-- 링크버튼을 사용하시면  컴파일후 부모창에  __doPostBack 스크립트 함수를 자동으로 생성해주기 때문이죠.

 

<aspx>

    <asp:ListBox id="ListBox1" runat="server">
     <asp:ListItem Value="선택하세요">값을 추가해주세요.</asp:ListItem>
    </asp:ListBox>

 

    <asp:LinkButton id="lnkEvent1" runat="server"></asp:LinkButton>
    <asp:LinkButton id="lnkEvent2" runat="server"></asp:LinkButton>
   <input type="hidden" id="hidValue">

 

<cs>

        // RaisePostBackEvent를 이용해서 인자값 받기

        string newValue = null;
        protected override void RaisePostBackEvent

                (IPostBackEventHandler sourceControl, string eventArgument)
        {
                newValue = eventArgument;
                base.RaisePostBackEvent (sourceControl, eventArgument);
        }
        private void lnkEvent1_Click(object sender, System.EventArgs e)
        {
                if(newValue != null)
                         ListBox1.Items.Add(newValue );
        }

 

        // hidden값에 인자값을 넣어서 받기

        private void lnkEvent2_Click(object sender, System.EventArgs e)
        {
                if(Request["hidValue"] != null)
                        ListBox1.Items.Add(Request["hidValue"]);               
        }


출처 : http://blog.naver.com/tear230/100012963979

Posted by SB패밀리

ASP.NET에서 페이지를 이동하려는 경우 총 3가지의 메서드를 사용할 수 있습니다.

먼저, Server.Execute의 경우 특정 페이지를 함수 처럼 실행 시키고 그 결과 값을 받을 수 있습니다. Server.Execute를 실행 시키면 일단 설정한 페이지로 제어권이 넘어가서 해당 페이지 실행 후 결과값을 받고 다시 원래 페이지로 제어권이 넘어오게 됩니다.
(제어권이 넘어온다는 것은 원래 페이지의 Server.Execute 다음 코드가 계속 실행 된다는 이야기 입니다.)

// TargetPage.aspx의 실행 결과를 받고 싶다면 objTextWriter (TextWriter 개체) 설정
예) Server.Execute("TargetPage.aspx", objTextWriter);

다음으로 Server.Transfer의 경우 설정한 페이지로 제어권을 넘기고 실행이 끝나면 원래 페이지 제어권이 넘어오지 않고 거기서 실행이 끝나 버립니다.
Server.Transfer는 서버에서만 페이지를 이동하고 결과를 클라이언트로 보내기 때문에 클라이언트 브라우져의 URL입력창에는 변화가 없습니다. 그리고, URL에 값을 붙여서 넘기는 Get방식의 사용도 불가능 합니다.

예) Server.Transfer("TargetPage.aspx");

Response.Redirect의 경우 실행하게 되면 서버에서 HTTP헤더를 클라이언트로 보내서 클라이언트가 지정된 주소를 다시 찾게 합니다.
Transfer와는 달리 처음 실행 시 한번 접속이 이루어 지고 보내어진 HTTP 헤더로 클라이언트가 페이지 이동 후 다시 한번 서버로의 접속이 이루어지게 됩니다.
Response.Redirect를 사용할 경우 GET 방식으로 값을 넘기는 것이 가능 합니다.

예) Response.Redirect("TargetPage.aspx", false);

** 만약 Response.Redirect 문이 try~catch 문 내부에 있을때 URL 다음에 2번째 인수를 설정하지 않거나 true로 설정 할 경우에 '스레드가 중단되었습니다.'라는 예외가 catch 됩니다.

두번째 인수는 bool형으로 다음 코드를 계속 실행 할 것인가의 여부를 설정하는 인수 입니다.
Response.Redirect 이후에 실행 할 코드가 더이상 없다면 두번째 인수를 false로 설정 해서 Exception이 발생하지 않도록 할 수 있습니다.

▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
이정호 (potato@dotnetpia.co.kr)
Open Source Board : NeBoard
http://www.neboard.com/
Posted by SB패밀리

function f_goEnter() {
   if ( event.keyCode == 13 ) {
    f_submit();
   }
  }
Posted by SB패밀리

문자스트링 타입(Character string types)

자바 스크립트 내장객체 -문자열을 다루는 메소드

 

charAt(index) : 지정된 위치에서 문자 찾기
indexOf(string) : 지정된 문자의 위치를 왼쪽부터 찾기
lastIndexOf(string) : 지정된 문자의 위치를 오른쪽부터 찾기
substring(index1, index2) : 지정된 위치에 있는 문자열 리턴
toLowerCase() : 소문자로 변환하기
toUpperCase() : 대문자로 변환하기
concat(string) : 두 문자열을 합치기
slice(start_index, end_index)  : 문자열의 일부를 추출하기
split([분리자]) : 문자열을 분리하기
substr(start_index, length) : 문자열을 length만큼 잘라내기
charCodeAt([index]) : 문자열의 ISO Latin-1 값 알아내기
fromCharCode("n1", ..., "nn") : ISO Latin-1 값의 문자열 알아내기

 

1) chart(index)

매개변수로 입력된 숫자(index)가 지정하는 곳의 문자를 리턴


<HTML>

<HEAD>

<TITLE>charAt(index) 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var tmp1, tmp2;


tmp1 = "Nanumi".charAt(0);

tmp2 = "Nanumi".charAt(4);


document.write("\"Nanumi\".charAt(0) returns " + tmp1);

document.write("<p>");

document.write("\"Nanumi\".charAt(4) returns " + tmp2);

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>


결과보기

"webedu".charAt(0) returns w

"webedu".charAt(4) returns d


2) indexOf(string) / lastIndexOf(string)

indexOf / lastIndexOf 메소드는 string에 해당하는 부분이 문자열 어느 부분에 있는지 그

위치를 리턴해 주는 함수위치를 리턴해 주므로 리턴 값은 숫자

indexOf(string)은 왼쪽부터 검색을 하고 lastIndexOf(string)은 전체 문자열의 오른쪽부터

검색을 해서 첫번째 만나는 string에 해당하는 문자열의 위치를 리턴

리턴해 주는 값은 모두 왼쪽부터 0, 1, ..., n으로 계산한 값이 리턴


<HTML>

<HEAD>

<TITLE>indexOf(string) / lastIndexOf(string) 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var tmp1, tmp2;


tmp1 = "Nanumi is a helper".indexOf("a");

tmp2 = "Nanumi is a helper".lastIndexOf("a");


document.write("indexOf(\"a\") returns " + tmp1);

document.write("<p>");

document.write("lastIndexOf(\"a\") returns " + tmp2);

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>

결과보기

indexOf("is") returns 10

lastIndexOf("is") returns 10


3) substring(index1, index2)

substring 메소드는 index1과 index2 사이에 있는 문자열을 리턴하는 메소드


<HTML>

<HEAD>

<TITLE>substring(index1, index2) 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var tmp1, tmp2, tmp3, tmp4;


tmp1 = "Nanumi".substring(1,3);

tmp2 = "Nanumi".substring(3,1);

tmp3 = "Nanumi".substring(3);

tmp4 = "Nanumi".substring();


document.write("\"Nanumi\".substring(1,3) returns " + tmp1);

document.write("<p>");

document.write("\"Nanumi\".substring(3,1) returns " + tmp2);

document.write("<p>");

document.write("\"Nanumi\".substring(3) returns " + tmp3);

document.write("<p>");

document.write("\"Nanumi\".substring() returns " + tmp4);

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>

결과보기

"webedu".substring(1,3) returns eb

"webedu".substring(3,1) returns eb


"webedu".substring(3) returns edu


"webedu".substring() returns webedu



4) toLowerCase() / toUpperCase()

toLowerCase() 메소드는 지정된 문자열을 모두 소문자로 만들 때 사용하고,

toUpperCase() 메소드는 지정된 문자열을 모두 대문자로 만들 때 사용


<HTML>

<HEAD>

<TITLE>toLowerCase() / toUpperCase() 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var tmp1, tmp2;


tmp1 = "Nanumi".toLowerCase();

tmp2 = "Nanumi".toUpperCase();


document.write("\"Nanumi\".toLowerCase() returns " + tmp1);

document.write("<p>");

document.write("\"Nanumi\".toUpperCase() returns " + tmp2);

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>


결과보기

"webedu".toLowerCase() returns webedu

"webedu".toUpperCase() returns WEBEDU



5) concat(string)

concat 메소드는 두 개의 문자열을 합쳐서 하나의 새로운 문자열을 만드는 메소드

concat(string) 메소드를 호출하는 문자열과 매개변수로 들어가는 string 이라는 문자열이

하나로 합쳐져 새로운 문자열을 만들어 낸다.


<HTML>

<HEAD>

<TITLE>concat(string) 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

document.write("Nanumi".concat(" 홈페이지 제작 도우미"));

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>


결과보기

webedu 홈페이지 제작 도우미



6) slice(start_index, end_index)

slice 메소드도 앞에서 설명한 substring 메소드와 같이 문자열의 일부를 리턴

start_index는 추출할 문자열의 처음 위치를 숫자로 표시


<HTML>

<HEAD>

<TITLE>slice(start_index, end_index) 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var tmp1, tmp2;


tmp1 = "Nanumi is good.".slice(2, 5); // ①

tmp2 = "Nanumi is good.".slice(2, -5); // ②


document.write("[" + tmp1 + "]<p>");

document.write("[" + tmp2 + "]");

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>


결과보기

[bed]

[bedu is ]



7) split([분리자])

split 메소드는 입력되는 '분리자'를 기준으로 ','을 이용하여 문자열을 분리


<HTML>

<HEAD>

<TITLE>split([분리자]) 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var str;


str = "Nanumi is good place on the web!"

document.write(str.split(" ") + "<p>");

document.write(str.split("oo") + "<p>");

document.write(str.split("a"));

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>


결과보기

webedu,is,good,place,on,the,web!

webedu is g,d place on the web!


webedu is good pl,ce on the web!



8) substr(start_index, length)

substr 메소드 역시 substring, slice 메소드와 마찬가지로 문자열의 일부를 리턴


<HTML>

<HEAD>

<TITLE>substr(start_index, length) 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var str;


str = "Nanumi is good place on the web!"

document.write("[" + str.substr(10, 4) + "]" + "<p>");

document.write("[" + str.substr(15, 5) + "]" + "<p>");

document.write("[" + str.substr(18, 5) + "]" );

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>


결과보기

[good]

[place]


[ce on]



9) charCodeAt([index]) / fromCharCode(n1, n2, ..., nn)

charCodeAt 메소드는 문자열의 특정 위치에 있는 문자의 ISO-Latin-1 값을 알아내는데

사용하는 메소드 이고 fromCharCode 메소드는 그 반대


<HTML>

<HEAD>

<TITLE>charCodeAt / fromCharCode 메소드</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var str;


str = "Nanumi is good place on the web!"

document.write(str.charCodeAt(0) + "<p>");

document.write(str.charCodeAt(1) + "<p>");

document.write(str.charCodeAt(2) + "<p>");

document.write(str.charCodeAt(3) + "<p>");

document.write(str.charCodeAt(4) + "<p>");

document.write(str.charCodeAt(5) + "<p>");

document.write(String.fromCharCode("78", "97", "110", "117", "109", "105"));

// 자바스크립트 끝 -->

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>


결과보기


119

101


98


101


100


117


Nanumi

Posted by SB패밀리

아래의 소스 중에서 자바스크립트 부분은 HTML의 head 부분에 넣어주시면 됩니다.

메인 메뉴에서 해당 메뉴부분(이미지 또는 텍스트) 에 마우스를 올렸을 때 해당 메뉴의 서브메뉴가 레이어로 나타납니다. 그리고 메뉴의 위치에서 마우스가 벗어났을 경우 서브메뉴가 사라지도록 처리하였습니다.

메뉴를 더 추가하고자 하실 경우에는 먼저 메인메뉴를 추가한 다음 서브메뉴를 정의한 div 부분에 해당 서브메뉴를 추가하시면 됩니다.

여기서 div를 계속해서 추가하실 수 있으며, 각각 추가하실 때마다 div id="sm1" 이란 부분에서 다른이름으로 계속 추가하시면 됩니다.

예를 들어 div id="sm2" 다음은 div id="sm3" 등등등...

그리고 마우스 올리는 부분에서 정의한 레이어를 보여주도록 하며, 메뉴가 추가될 때마다 이어서 추가해 주시면 됩니다.

onMouseOver 일 때 onMouseOver="MM_showHideLayers('sm1','','show','sm2','','hide')" 와 같이 작성합니다.

이것은 마우스가 올라갔을 때 sm1은 show로 보여주고 나머지 레이어는 hide로 보여주지 않는다는 부분입니다.

그리고 마우스를 내렸을 때는 onMouseOut="MM_showHideLayers('sm1','','hide','sm2','','hide')"와 같이 작성하여 모든 레이어를 hide 시켜서 보여주지 않게합니다.


다음으로 수정하실 부분은 div 에서 각 서브메뉴의 위치를 조정하실 수 있는 부분입니다.

left = 서브메뉴의 가로 위치를 나타냅니다. 0일 경우에는 브라우져의 좌측 끝 부분입니다.
top = 서브메뉴의 세로 위치를 나타냅니다. 0일경우에는 브라우져의 최상단입니다.
width = 서브메뉴를 감싸고 있는 크기입니다.
height = 서브메뉴를 감싸고 있는 높이입니다.

 

★ 모양은 지우고 사용하세요..



<Script language="JavaScript">
<!--
function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<★(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}

function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<★d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<★d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
//-->
</Script>


<★!-- 메인메뉴가 들어갑니다. -->
<★table width="200" border="1" cellpadding="0" cellspacing="0" bgcolor="#EFEFEF">
<★tr height="30">
<★td align="center" onMouseOver="MM_showHideLayers('sm1','','show','sm2','','hide')" onMouseOut="MM_showHideLayers('sm1','','hide','sm2','','hide')">메뉴 1<★/td>
<★td align="center" onMouseOver="MM_showHideLayers('sm1','','hide','sm2','','show')" onMouseOut="MM_showHideLayers('sm1','','hide','sm2','','hide')">메뉴 2<★/td>
<★/tr>
<★/table>
<★!-- 메인메뉴 정의 끝 -->

<★!-- 서브메뉴가 들어갑니다. -->
<★div id="sm1" style="position:absolute; left:10px; top:54; width:200; height:200; z-index:1; visibility: hidden;" onMouseOver="MM_showHideLayers('sm1','','show','sm2','','hide')" onMouseOut="MM_showHideLayers('sm1','','hide','sm2','','hide')">
<★table width="200" border="0" cellpadding="0" cellspacing="0">
<★tr height="24">
<★td align="center">메뉴1-1<★/td>
<★td align="center">메뉴1-2<★/td>
<★td align="center">메뉴1-3<★/td>
<★/tr>
<★/table>
<★/div>

<★div id="sm2" style="position:absolute; left:100px; top:54; width:200; height:200; z-index:1; visibility: hidden;" onMouseOver="MM_showHideLayers('sm1','','show','sm2','','hide')" onMouseOut="MM_showHideLayers('sm1','','hide','sm2','','hide')">
<★table width="200" border="0" cellpadding="0" cellspacing="0">
<★tr height="24">
<★td align="center">메뉴2-1<★/td>
<★td align="center">메뉴2-2<★/td>
<★td align="center">메뉴2-3<★/td>
<★/tr>
<★/table>
<★/div>
<!-- 서브메뉴 정의 끝 -->



출처: http://blog.naver.com/iambig/20017776949
Posted by SB패밀리

Javascript로 Excel파일 만들어보자

테이블 같은 것들 중에 DataGrid나 DataList, Repeater가 아닌 경우 엑셀 다운로드를 붙여달라고 하면

가슴이 콱 답답해지시는 분들을 위한 간단한 코드입니다.

 

IE에서만 동작(엑셀이 windows 니까 ..ㅡㅡ;; 거의 IE겠죠 ..)

 

IFRAME 유동적으로 만들어서 거기다 해당 객체의 데이터를 넣고

해당 객체는 saveExcel('객체아이디') 로 넣으시면 됩니다.

파일명을 강제하실 경우 saveExcel('객체아이디','저장파일명.xls') 로 넣으시면 됩니다.

해당 IFRAME을 execCommand  이용해서 html 문서를 확장자 .xls로 저장합니다.

(저장 창이 header에서 excel 타입을 강제한거랑은 조금 다르게 생겨먹었습니다. ㅋㅋㅋ)

 

우야둔둥..이건 1원으로는 너무 싼듯해서..10원짜리 팁입니다. ㅋㅋ

 

아래는 소스와 예제입니다.

 <script language="javascript">

/*

암때나 맘때루 고쳐서 사용하셔도 됩니다.

대충 후려갈겼습니다 -_-;

CopyRight ⓒ Thisisx since 2006.11.30

*/

function saveExcel(targetId,SaveFileName)

{

    if(document.all)

    {

        if(!document.all.excelExportFrame) // 프레임이 없으면 만들자~!

        {

            var excelFrame=document.createElement("iframe");

            excelFrame.id="excelExportFrame";

            excelFrame.position="absolute";

            excelFrame.style.zIndex=-1;

            excelFrame.style.top="-10px";

            excelFrame.style.left="-10px";

            excelFrame.style.height="0px";

            excelFrame.style.width="0px";

            document.body.appendChild(excelFrame); // 아이프레임을 현재 문서에 쑤셔넣고..

        }

 

        var frmTarget = document.all.excelExportFrame.contentWindow.document; // 해당 아이프레임의 문서에 접근

 

        // content 타입은 넣으면 언젠가 MS에서 엑셀로 바로 열어주지 않을까해서.. 괜히 한번 선언해봤습니다.

        frmTarget.open("application/vnd.ms-excel","replace");

        frmTarget.write('<html>');

        frmTarget.write('<meta http-equiv=\"Content-Type\" content=\"application/vnd.ms-excel; charset=euc-kr\">\r\n'); // 별로..

        frmTarget.write('<body>');

        frmTarget.write(document.getElementById(targetId).outerHTML);  // tag를 포함한 데이터를 쑤셔넣고

        frmTarget.write('</body>');

        frmTarget.write('</html>');

        frmTarget.close();

        

        //frmTarget.charset="UTF-8"; // 자 코드셋을 원하는걸로 맞추시고..

        frmTarget.charset="euc-kr";

        frmTarget.focus();

        if(!SaveFileName)

        {

            SaveFileName='test.xls';

        }

        frmTarget.execCommand('SaveAs','false',SaveFileName); // 저장을 호출합니다.

    }

    else

    {

        alert('IE만 가능합니다.');

    }

}

</script>

 

 

<table id="tblMain">

<tr>

    <td>웅냐

    </td>

</tr>

</table>

 

<input type="button" value="excel" onclick="saveExcel('tblMain')">

Posted by SB패밀리

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

 

<script type="text/javascript">

function SourceCopy() {
    window.clipboardData.setData("Text", "http://www.happyceo.co.kr/files/RssFiles/HappyCeoRss.xml");
    alert("RSS 주소가 복사되었습니다.");
}
    </script>
    <script type="Text/javascript">

// Ctrl+C 복사 시 출처 복사시키기
function ContentsCopyed()
{
    if (window.event)
    {
        window.event.returnValue = true;
        window.setTimeout('AttachReferenceString()', 25);
    }
}

function AttachReferenceString()
{
    if (window.clipboardData) // IE
    {
        var text = window.clipboardData.getData('Text');
        text = text + '\r\n(출처 : 행복한 경영이야기 http://www.happyceo.co.kr/) \r\n';
        // set data to clibboard
        var result = window.clipboardData.setData('Text', text);
    }
}


</script>
    <script language="JavaScript">
<!--
//영역지정 프린트 스크립트
 var initBody;

 function beforePrint()
 {
  initBody=document.body.innerHTML;
  document.body.innerHTML=idPrint.innerHTML;
 }

 function afterPrint()
 {
  document.body.innerHTML=initBody;
 }
window.onbeforeprint = beforePrint;
window.onafterprint = afterPrint;
</script>

<BODY>


내용 시작

<div oncopy="ContentsCopyed()"><!-- oncopy="ContentsCopyed()" 카피출처 주석처리//-->


내용......

<p>
내용....


<A href="javascript:SourceCopy();">RSS주소복사</a>

</p>
내용....

 

</div>


내용 끝

</BODY>
</HTML>

Posted by SB패밀리

navigator 객체
속성 appName 브라우저의 이름
appCodeName 브라우저의 코드 이름
appVersion 브라우저의 버전, 플랫폼, 국명
userAgent 브라우저의 User Agent
mimeTypes 브라우저의 mime타입 정보
plugins 브라우저에서 지원하는 플러그인 정보
메소드 javaEnabled( ) 자바를 사용할 수 있는지를 체크

 

Document 객체
속성 alinkColor 링크를 클릭했을 때의 색상
anchors 페이지에 있는 모든 anchor객체들의 배열
bgcolor 페이지의 배경색
cookie 클라이언트 컴퓨터 상에 저장된 문자열
fgcolor 텍스트의 색상
forms 페이지에 있는 모든 입력 양식들의 배열
lastModified 페이지의 마지막 수정 날짜
linkColor 페이지에서 링크를 표시하는 색상
links 페이지에 있는 모든 링크들의 배열
referrer 현재 페이지를 불러들인 문서의 URL
title 페이지의 제목
URL 현재 문서의 URL 주소
vlinkColor 방문한 링크의 색상
applets 페이지에 있는 모든 Java applet객체들의 배열
embeds 페이지에 있는 모든 플러그 인들의 배열
images 페이지에 있는 모든 이미지들의 배열
메소드 open( ) 출력을 위해 문서를 연다.
close( ) 열어둔 문서를 닫는다.
clear( ) 브라우저에서 문서를 지운다.
write( ) 페이지에 문자열을 출력한다.
writeIn( ) 페이지에 문자열을 출력 (줄바꾸기 포함)

 

Date 객체
메소드 getYear( ) 1970년 이후의 연도 (마지막 두 숫자)
getMonth( ) 月, 0(1월)에서 11(12월)까지 반영
getDate( ) 日, 1에서 31까지의 정수
getDay( ) 요일, 0(일요일)에서 6(토요일)까지 반영
getHour( ) 시, 0(밤 12시)에서 23(오후 11시)까지 반영
getMinutes( ) 분, 0에서 59까지 반영
getSeconds( ) 초, 0에서 59까지 반영
getTime( ) 1970년 1월 1일 이후 경과된 시간을 1/1000초 단위로 나타낸 값
getTimezoneOffset( ) 그리니치 표준시간과 그 지역 시간 사이의 차이를 분 단위로 반영
getYear( ) 1970년 이후의 연도설정
setMonth( ) 현재의 月설정
setDate( ) 현재의 日설정
setHours( ) 현재의 時설정
setMinutes( ) 현재의 分설정
setSeconds( ) 현재의 秒설정
setTime( ) 1970년 1월 1일 이후 경과된 시간을 1/1000초 단위로 나타낸 값 설정
parse( ) 날짜 문자열을 분석하여 시간을 1/1000초 단위로 리턴
UTC( ) GMT를 기준으로 1970년 1월 1일 이후 경과된 시간을 1/1000초 단위로 리턴
toGMTString( ) GMT(Greenwich Mean Time) 날짜 리턴
toLocaleString( ) 날짜를 문자열로 변환 (mm/dd/yy hh:mm:ss)
toString( ) 문자열로 변환 (Month,day year hh:mm:ss)

 

History 객체
속성 length history 객체에 저장되어 있는 URL 주소의 수
메소드 back( ) history 객체에 저장된 URL주소 중에서 앞으로 이동
forward( ) history 객체에 저장된 URL 주소 중에서 뒤로 이동
go( ) history 객체에 저장된 URL주소에서 특정 엔트리로 점프

 

Window 객체
속성 defaultStatus 상태 선에 나타나는 문자열의 초기 값
frames 윈도우에 포함되어 있는 프레임들
length 윈도우에 포함된 프레임의 수
name 윈도우의 이름
parent 현재 윈도우를 포함하고 있는 윈도우나 프레임
self 현재 윈도우
status 브라우저의 상태 선에 나타나는 메시지
top 윈도우 계층구조 중 최상단 윈도우
window 자기 자신
document 윈도우에서 보여주는 문서의 정보
location 윈도우에서 보여주는 문서의 URL주소
height 윈도우의 높이
width 윈도우의 너비
locationbar 윈도우의 locationbar를 보여줄지의 여부
menubar 윈도우의 menubar를 보여줄지의 여부
personalbar 윈도우의 personalbar를 보여줄지의 여부
scrollbars 윈도우의 scrollbar를 보여줄지의 여부
statusbar 윈도우의 상태 선을 보여줄지의 여부
toolbar 윈도우의 toolbar를 보여줄지의 여부
tags HTML 문서에 사용된 모든 태그들
classes HTML 문서에 정의된 모든 스타일 시트 클래스들
메소드 alert( ) history 객체에 저장된 URL주소 중에서 앞으로 이동
close( ) 윈도우를 닫는다.
confirm( ) 메시지와 OK, Cancle버튼을 가진 다이얼로그 박스 생성. True, False값을 리턴
open( ) 새로운 윈도우를 연다.
prompt( ) 메시지와 입력필드를 가진 다이얼로그 박스 생성
setTimeout( ) 1/1000초 단위의 시간이 흐른뒤 지정된 함수를 실행한다.
clearTimeout( ) setTimeout 해제

 

Select 객체
속성 length 리스트 박스에 포함된 옵션의 수
name 리스트 박스의 이름
options 옵션 메뉴
selectedIndex 선택된 옵션의 인덱스
메소드 focus( ) 리스트 박스에 focus가 되도록 한다.
blur( ) 리스트 박스에서 focus를 없앤다.

 

Option 객체
속성 defaultSelected 옵션이 처음 선택되어 있는지의 여부
index 각 옵션의 인덱스
prototype 옵션에 특성을 추가한다.
selected 옵션이 현재 선택되어 있는지의 여부
text 옵션에서 보여지는 글씨
value 옵션에 할당되어 있는 값

 

Image객체
속성 border 픽셀 값으로 나타낸 테두리의 두께
complete 이미지가 완전히 load되면 true
height 이미지의 세로 길이
hspace 이미지와 주변 글자간이 가로 여백
lowsrc 임시 이미지의 URL 주소
name 이미지의 이름
prototype 이미지 객체에 특성을 추가
src 이미지 파일의 URL주소
vspace 이미지와 주변 글자간의 세로 여백
width 이미지의 가로 길이

 

Array객체
속성 length 배열의 크기
prototype Array 객체에 새로운 특성을 추가한다.
메소드 join( ) 배열의 각 값을 묶어 하나의 문자열로 만든다.
reverse( ) 배열을 역순으로 만든다.
sort( ) 배열을 정렬시킨다.

 

Location 객체
속성 href 현재 문서의 URL 주소
host URL 주소의 호스트 이름과 포트 번호
hostname URL 주소의 호스트와 도메인
protocol 프로토콜의 종류 (예 - http: )
pathname URL 주소에서 절대 디렉토리
port 서버에서의 포트 번호
hash URL주소의 Anchor
searth URL 주소 중에서 검색된 부분
메소드 reload( ) 현재 브라우저에 나타난 문서를 다시 읽는다.
replace( ) ( )안에 들어있는 URL이 현재 브라우저에 나타난 문서를 대신한다.

 

Link 객체
속성 hash URL 주소의 Anchor
host URL 주소의 호스트 이름과 포트 번호
hostname URL 주소의 호스트와 도메인
href <A>태그에서 href 속성으로 지정한 링크된 URL 주소
pathname URL 주소에서 절대 디렉토리
port 서버에서의 포트 번호
protocol 프로토콜의 종류 (예 - http: )
searth URL 주소 중에서 검색된 부분
target <A>태그에서 TARGET으로 지정된 윈도우나 프레임
Posted by SB패밀리