코드 복사 코드는 다음과 같습니다. <br>/**//** <br>*이 달력 선택 컨트롤은 이전 경험을 바탕으로 tiannet에 의해 완성되었습니다. 대부분의 코드는 meizz의 캘린더 컨트롤에서 나옵니다. <br>*tiannet에는 시간 선택 기능, 선택, 개체 라벨 숨기기 기능 및 기타 작은 기능이 추가되었습니다.<br>*사용법: <br>* (1) 날짜만 선택<input type="text" name="date" readOnly onClick="setDay(this);"> hour<input type="text" name="dateh" readOnly onClick="setDayH(this);"> <br>* (3)날짜, 시간, 분 선택<input type="text" name="datehm" readonly onclick="setDayHM(this);">*매개변수 설정 방법<br>* (1) 날짜 구분 기호 설정 setDateSplit(strSplit); 기본값은 "-"입니다. <br>* ( 2) 설정 날짜와 시간 사이의 구분 기호 setDateTimeSplit(strSplit); 기본값은 " "입니다. <br>* (3) 시간 구분 기호를 설정합니다. setTimeSplit(strSplit); 기본값은 ":"입니다. <br>* (4) Set ( 1), (2) 및 (3) setSplit(strDateSplit, strDateTimeSplit, strTimeSplit) <br>* (5) 시작 및 종료 연도 설정 setYearPeriod(intDateBeg, intDateEnd) <br>* 설명: <br> * 기본 반환 날짜 및 시간 형식은 다음과 같습니다. 2005-02-02 08:08 <br>*/ <br>//------------------ 스타일 정의-- - -------------// <br>//기능 버튼 스타일 동일<br>var s_tiannet_turn_base = "height:16px; 글꼴 크기: 9pt;색상:흰색;테두리:0 단색 #CCCCCC;커서:손;배경색:#2650A6;"; <br>//연도, 월 등을 바꾸는 버튼<br>var s_tiannet_turn = "width:28px;" s_tiannet_turn_base; <br>//닫기, 지우기 등의 버튼 스타일<br>var s_tiannet_turn2 = "s_tiannet_turn_base" <br>//연도 선택 드롭다운 상자<br> s_tiannet_select = "너비:64px;display:none ;"; <br>//월, 시, 분 선택 드롭다운 상자<br>var s_tiannet_select2 = "너비:46px;display:none;" <br>// 날짜 선택 제어 본문 스타일<br>var s_tiannet_body = "width:150; background-color:#2650A6;display:none;z-index:9998;position:absolute; <br>"border-left:1 solid #CCCCCC;border-top:1 solid #CCCCCC;border -right:1 solid #999999;border-bottom:1 solid #999999;"; <br>//일일의 스타일 표시<br>var s_tiannet_day = "폭:21px;높이:20px;배경색:# D8F0FC;글꼴 크기:10pt;"; <br>//글꼴 스타일<br>var s_tiannet_font = "색상:#FFCC00;글꼴 크기:9pt;커서 :hand;"; <br>//링크 스타일<br>var s_tiannet_link = "text-장식:none;font-size:9pt;color:#2650A6;"; <br>//가로선<br>var s_tiannet_line = "border-bottom:1 solid #6699CC" <br>//----- 변수 정의------------- ---------------- -// <br>var tiannetYearSt = 1950; //시작 연도 선택 가능 <br>var tiannetYearEnd = 2010 //종료 연도 선택 가능 <br>var tiannetDateNow = new Date(); <br>var tiannetYear = tiannetDateNow.getFullYear(); //연도를 정의하는 변수의 초기값<br>var tiannetMonth = tiannetDateNow.getMonth() 1; 월을 정의하는 변수<br>var tiannetDateNow.getDate(); <br>var tiannetHour = 8;//tiannetDateNow.getHours() <br>var tiannetMinute = 0;//tiannetDateNow.getMinutes(); 🎜>var tiannetArrDay=new Array(42); //날짜를 쓰기 위한 배열 정의 <br>var tiannetDateSplit = "-"; //날짜 구분 기호<br>var tiannetDateTimeSplit = " "; and time<br>var tiannetTimeSplit = ":"; //시간 구분 기호<br>var tiannetOutObject; //날짜 및 시간을 수신하는 개체<br>var arrTiannetHide = new Array();//강제적으로 적용되는 레이블 숨김<br>var m_bolShowHour = false;//시간 표시 여부<br>var m_bolShowMinute = false;//분 표시 여부<br><br>var m_aMonHead = new Array(12); 양력의 각 달의 최대 일수<br>m_aMonHead[1] = 28 m_aMonHead[3] = 30; [5] = 30; m_aMonHead[6] = 31; m_aMonHead[8] = 30; m_aMonHead[10] = 31; ; <br>// -------------- - 사용자 호출 가능 함수------------ ------// <br>//사용자 호출 가능 함수 - 날짜만 선택 <br>function setDay(obj){ <br>tiannetOutObject = obj; <br>//태그에 값이 있으면 날짜를 현재 값으로 초기화합니다. <br>var strValue = tiannetTrim(tiannetOutObject.value) <br> if( strValue != "" ){ <br>tiannetInitDate (strValue); <br>tiannetPopCalendar(); <br>} <br>//사용자 호출 함수 - 날짜 및 시간 선택<br>function setDayH(obj){ <br>tiannetOutObject = obj; >m_bolShowHour = true; <br>//태그에 값이 있으면 날짜와 시간을 현재 값으로 초기화합니다. <br>var strValue = tiannetTrim(tiannetOutObject.value ) <br>if( strValue != " " ){ <br>tiannetInitDate(strValue.substring(0,10)); <br>var hour = strValue.substring(11,13); <br>if( hour < 10 ) tiannetHour = hour.substring(1 ,2); <BR>} <BR>tiannetPopCalendar() <BR>} <BR>//用户主调函数-选择日期和小时及分钟 <BR>function setDayHM(obj){ <BR>tiannetOutObject = obj; <BR>m_bolShowHour = true; <BR>m_bolShowMinute = true; <BR>//如果标签中有值,则将日期和小时及分钟初始化为当前值 <BR>var strValue = tiannetTrim(tiannetOutObject.value); <BR>if( strValue != "" ){ <BR>tiannetInitDate(strValue.substring(0,10)); <BR>var time = strValue.substring(11,16); <BR>var arr = time.split(tiannetTimeSplit); <BR>tiannetHour = arr[0]; <BR>tiannetMinute = arr[1]; <BR>if( tiannetHour < 10 ) tiannetHour = tiannetHour.substring(1,2); <BR>if( tiannetMinute < 10 ) tiannetMinute = tiannetMinute.substring(1,2); <BR>} <BR>tiannetPopCalendar(); <BR>} <BR>//设置开始日期和结束日期 <BR>function setYearPeriod(intDateBeg,intDateEnd){ <BR>tiannetYearSt = intDateBeg; <BR>tiannetYearEnd = intDateEnd; <BR>} <BR>//设置日期分隔符。默认为"-" <BR>function setDateSplit(strDateSplit){ <BR>tiannetDateSplit = strDateSplit; <BR>} <BR>//设置日期与时间之间的分隔符。默认为" " <BR>function setDateTimeSplit(strDateTimeSplit){ <BR>tiannetDateTimeSplit = strDateTimeSplit; <BR>} <BR>//设置时间分隔符。默认为":" <BR>function setTimeSplit(strTimeSplit){ <BR>tiannetTimeSplit = strTimeSplit; <BR>} <BR>//设置分隔符 <BR>function setSplit(strDateSplit,strDateTimeSplit,strTimeSplit){ <BR>tiannetDateSplit(strDateSplit); <BR>tiannetDateTimeSplit(strDateTimeSplit); <BR>tiannetTimeSplit(strTimeSplit); <BR>} <BR>//设置默认的日期。格式为:YYYY-MM-DD <BR>function setDefaultDate(strDate){ <BR>tiannetYear = strDate.substring(0,4); <BR>tiannetMonth = strDate.substring(5,7); <BR>tiannetDay = strDate.substring(8,10); <BR>} <BR>//设置默认的时间。格式为:HH24:MI <BR>function setDefaultTime(strTime){ <BR>tiannetHour = strTime.substring(0,2); <BR>tiannetMinute = strTime.substring(3,5); <BR>} <BR>// ---------------------- end 用户可调用的函数 -----------------------------// <BR>//------------------ begin 页面显示部分 ---------------------------// <BR>var weekName = new Array("日","一","二","三","四","五","六"); <BR>document.write('<div id="divTiannetDate" style="'+s_tiannet_body+'" style="本日历选择控件由tiannet根据前人经验完善而成!">'); <br>document.write('<div align="center" id="divTiannetDateText" Author="tiannet" style="padding-top:2px;">'); <br>document.write('<span id="tiannetYearHead" Author="tiannet" style="'+s_tiannet_font+'" '+ <BR>'onclick="spanYearCEvent();"> 年</span>'); <br>document.write('<select id="selTianYear" style="'+s_tiannet_select+'" Author="tiannet" '+ <BR>' onChange="tiannetYear=this.value;tiannetSetDay(tiannetYear,tiannetMonth);document.all.tiannetYearHead.style.display=\'\';'+ <BR>'this.style.display=\'none\';">'); <br>for(var i=tiannetYearSt;i <= tiannetYearEnd;i ++){ <BR>document.writeln('<option value="' + i + '">' + i + '年</option>'); <br>} <br>document.write('</select>'); <br>document.write('<span id="tiannetMonthHead" Author="tiannet" style="'+s_tiannet_font+'" '+ <BR>'onclick="spanMonthCEvent();"> 月</span>'); <br>document.write('<select id="selTianMonth" style="'+s_tiannet_select2+'" Author="tiannet" '+ <BR>'onChange="tiannetMonth=this.value;tiannetSetDay(tiannetYear,tiannetMonth);document.all.tiannetMonthHead.style.display=\'\';'+ <BR>'this.style.display=\'none\';">'); <br>for(var i=1;i <= 12;i ++){ <BR>document.writeln('<option value="' + i + '">' + i + '月</option>'); <br>} <br>document.write('</select>'); <br>//document.write('</div>'); <br>//document.write('<div align="center" id="divTiannetTimeText" Author="tiannet">'); <br>document.write('<span id="tiannetHourHead" Author="tiannet" style="'+s_tiannet_font+'display:none;" '+ <BR>'onclick="spanHourCEvent();"> 时</span>'); <br>document.write('<select id="selTianHour" style="'+s_tiannet_select2+'display:none;" Author="tiannet" '+ <BR>' onChange="tiannetHour=this.value;tiannetWriteHead();document.all.tiannetHourHead.style.display=\'\';' + <BR>'this.style.display=\'none\';">'); <br>for(var i=0;i <= 23;i ++){ <BR>document.writeln('<option value="' + i + '">' + i + '时</option>'); <br>} <br>document.write('</select>'); <br>document.write('<span id="tiannetMinuteHead" Author="tiannet" style="'+s_tiannet_font+'display:none;" '+ <BR>'onclick="spanMinuteCEvent();"> 分</span>'); <br>document.write('<select id="selTianMinute" style="'+s_tiannet_select2+'display:none;" Author="tiannet" '+ <BR>' onChange="tiannetMinute=this.value;tiannetWriteHead();document.all.tiannetMinuteHead.style.display=\'\';'+ <BR>'this.style.display=\'none\';">'); <br>for(var i=0;i <= 59;i ++){ <BR>document.writeln('<option value="' + i + '">' + i + '分</option>'); <br>} <br>document.write('</select>'); <br>document.write('</div>'); <br>//输出一条横线 <br>document.write('<div style="'+s_tiannet_line+'"></div>'); <br>document.write('<div align="center" id="divTiannetTurn" style="border:0;" Author="tiannet">'); <br>document.write('<input type="button" style="'+s_tiannet_turn+'" value="年↑" title="上一年" onClick="tiannetPrevYear();">'); <br>document.write('<input type="button" style="'+s_tiannet_turn+'" value="年↓" title="下一年" onClick="tiannetNextYear();"> '); <br>document.write('<input type="button" style="'+s_tiannet_turn+'" value="月↑" title="上一月" onClick="tiannetPrevMonth();">'); <br>document.write('<input type="button" style="'+s_tiannet_turn+'" value="月↓" title="下一月" onClick="tiannetNextMonth();">'); <br>document.write('</div>'); <br>//输出一条横线 <br>document.write('<div style="'+s_tiannet_line+'"></div>'); <br>document.write('<table border=0 cellspacing=0 cellpadding=0 bgcolor=white onselectstart="return false">'); <br>document.write(' <tr style="background-color:#2650A6;font-size:10pt;color:white;height:22px;" Author="tiannet">'); <br>for(var i =0;i < weekName.length;i ++){ <BR>//输出星期 <BR>document.write('<td width="21" align="center" Author="tiannet">' + weekName[i] + '</td>'); <br>} <br>document.write(' </tr>'); <br>document.write('</table>'); <br>//输出天的选择 <br>document.write('<table border=0 cellspacing=1 cellpadding=0 bgcolor=white onselectstart="return false">'); <br>var n = 0; <br>for (var i=0;i<5;i++) { <BR>document.write (' <tr align=center id="trTiannetDay' + i + '" >'); <br>for (var j=0;j<7;j++){ <BR>document.write('<td align="center" id="tdTiannetDay' + n + '" '+ <BR>'onClick="tiannetDay=this.innerText;tiannetSetValue(true);" ' <BR>+' style="' + s_tiannet_day + '"> </td>'); <br>n ++; <br>} <br>document.write (' </tr>'); <br>} <br>document.write (' <tr align=center id="trTiannetDay5" >'); <br>document.write('<td align="center" id="tdTiannetDay35" onClick="tiannetDay=this.innerText;tiannetSetValue(true);" ' <BR>+' style="' + s_tiannet_day + '"> </td>'); <br>document.write('<td align="center" id="tdTiannetDay36" onClick="tiannetDay=this.innerText;tiannetSetValue(true);" ' <BR>+' style="' + s_tiannet_day + '"> </td>'); <br>document.write('<td align="right" colspan="5"><a href="javascript:tiannetClear();" style="' + s_tiannet_link + '">清空</a>'+ <br>' <a href="javascript:tiannetHideControl();" style="' + s_tiannet_link + '">关闭</a>' + <br>' <a href="javascript:tiannetSetValue(true);" style="' + s_tiannet_link + '">确定</a> ' + <br>'</td>'); <br>document.write (' </tr>'); <br>document.write('</table>'); <br>document.write('</div>'); //------ 끝 페이지 표시 부분------ - -------// <br>//------ 날짜 및 시간 범위 태그 응답 이벤트 표시--------- -----// <br>//연도 범위 레이블 응답 클릭 <br>functionspanYearCEvent(){ <br>hideElementsById(new Array("selTianYear" ,"tiannetMonthHead"),false); <br>if(m_bolShowHour) hideElementsById(new Array("tiannetHourHead"),false); <br>if(m_bolShowMinute) hideElementsById(new Array("tiannetMinuteHead"),false); 🎜>hideElementsById(new Array("tiannetYearHead","selTianMonth","selTianHour","selTianMinute"),true); <br>} <br>//월 범위 레이블 응답 클릭<br>functionspanMonthCEvent(){ <br>hideElementsById(new Array("selTianMonth","tiannetYearHead"),false); <br>if(m_bolShowHour) hideElementsById(new Array("tiannetHourHead"),false) <br>if(m_bolShowMinute) hideElementsById(new) Array("tiannetMinuteHead"),false); <br>hideElementsById(new Array("tiannetMonthHead","selTianYear","selTianHour","selTianMinute"),true); 태그 응답 <br>functionspanHourCEvent(){ <br>hideElementsById(new Array("tiannetYearHead","tiannetMonthHead"),false); <br>if(m_bolShowHour) hideElementsById(new Array("selTianHour"),false) ; <br>if(m_bolShowMinute) hideElementsById(new Array("tiannetMinuteHead"),false); <br>hideElementsById(new Array("tiannetHourHead","selTianYear","selTianMonth","selTianMinute"),true); >} <br>//분 범위 레이블 응답 클릭 <br>functionspanMinuteCEvent(){ <br>hideElementsById(new Array("tiannetYearHead","tiannetMonthHead"),false) <br>if(m_bolShowHour) hideElementsById( new Array("tiannetHourHead"),false); <br>if(m_bolShowMinute) hideElementsById(new Array("selTianMinute"),false); <br>hideElementsById(new Array("tiannetMinuteHead","selTianYear","selTianMonth " ,"selTianHour"),true) <br>} <br>//태그 ID를 기준으로 태그 숨기기 또는 표시<br>function hideElementsById(arrId,bolHide){ <br>var strDisplay = ""; (bolHide) strDisplay = "none"; <br>for(var i = 0;i < arrId.length;i ){ <BR>var obj = document.getElementById(arrId[i]) <BR>obj. style.display = strDisplay; <BR>} <BR>} <BR>//---- end 날짜와 시간을 표시하는 스팬 태그는 event---- ----------// <BR>//특정 연도가 윤년인지 확인 <BR>function isPinYear( 연도){ <BR>var bolRet = false; <BR>if (0==연도%4&&((연도 0!=0)||(연도@0==0))) { <BR>bolRet = true; <BR>} <BR> return bolRet; <BR>} <BR>//한 달의 일수를 구합니다. 윤년은 29일입니다.<BR>function getMonthCount(year,month){ <BR>var c= m_aMonHead[month-1]; <BR>if ((month==2)&&isPinYear(year)) c <BR>return c; <BR>} <BR>//현재 날짜를 재설정합니다.주로 연도나 월을 넘길 때 현재 날짜가 월의 최대 날짜보다 커지는 것을 방지하기 위해 <BR>function setRealDayCount() { <BR>if( tiannetDay > getMonthCount(tiannetYear,tiannetMonth) ) { <br> //현재 일자가 월 최대 일수보다 크면 월 최대 일수를 취합니다. <br>tiannetDay = getMonthCount(tiannetYear,tiannetMonth) <br>} <br>} <br> //한 자리 숫자 앞에 0을 추가합니다. <br>function addZero( value){ <br>if(value < 10 ){ <BR>value = "0" value <BR>} <BR>return value; >} <BR>//공백 제거<BR>function tiannetTrim (str) { <BR>return str.replace(/(^s*)|(s*$)/g,"") <BR>} <BR>//select <BR>function createOption (objSelect,value,text){ <BR>var option = document.createElement("OPTION") <BR>option.value = value; .text = text; <BR>objSelect.options.add( option); <BR>} <BR>//연도 전환 <BR>function tiannetPrevYear() { <BR>if(tiannetYear > 999 && tiannetYear < 10000){tiannetYear--;} <BR>else{ warning("연도가 범위(1000-9999)를 벗어났습니다!");} <BR>tiannetSetDay(tiannetYear,tiannetMonth) <BR>//If 연도가 최소 허용 연도보다 작으면 해당 옵션을 생성하세요 <BR>if( tiannetYear < tiannetYearSt ) { <BR>tiannetYearSt = tiannetYear; <BR>createOption(document.all.selTianYear,tiannetYear,tiannetYear "year"); <BR>} <BR>checkSelect(document.all.selTianYear,tiannetYear); <BR>tiannetWriteHead(); <BR>} <BR>//연도 거꾸로 <BR>function tiannetNextYear() { <BR>if( tiannetYear > 999 && tiannetYear <10000){tiannetYear ;} <BR>else {alert("연도가 범위를 벗어났습니다(1000-9999)! ");return;} <BR>tiannetSetDay(tiannetYear,tiannetMonth); <BR>//연도가 최대 허용 연도를 초과하는 경우 해당 옵션을 생성합니다. <BR>if( tiannetYear > tiannetYearEnd ) { <br>tiannetYearEnd = tiannetYear; <br>createOption(document.all.selTianYear,tiannetYear,tiannetYear"); <br>} <br>checkSelect(document.all.selTianYear,tiannetYear) <br>tiannetWriteHead(); <br>//오늘 선택<br>function tiannetToday() { <br>tiannetYear = tiannetDateNow.getFullYear(); <br>tiannetMonth = tiannetDateNow.getMonth() 1 <br>tiannetDateNow.getDate(); 🎜>tiannetSetValue(true); <br>//tiannetSetDay(tiannetYear,tiannetMonth); <br>//selectObject(); <br>} <br>//월을 앞당깁니다<br>function tiannetPrevMonth() 🎜>if(tiannetMonth>1){tiannetMonth--}else{tiannetYear--;tiannetMonth=12;} <br>tiannetSetDay(tiannetYear,tiannetMonth) <br>checkSelect(document.all.selTianMonth,tiannetMonth) <br>tiannetWriteHead(); <br>} <br>//월을 앞으로 넘기기<br>function tiannetNextMonth() { <br>if(tiannetMonth==12){tiannetYear ;tiannetMonth=1}else{tiannetMonth } <br> tiannetSetDay(tiannetYear,tiannetMonth); <br>checkSelect(document.all.selTianMonth,tiannetMonth); <br>tiannetWriteHead() <br>} <br>//연도, 월, 시, 분을 범위에 씁니다. 태그 데이터 대기 중<br>function tiannetWriteHead(){ <br>document.all.tiannetYearHead.innerText = tiannetYear "연도"; <br>document.all.tiannetMonthHead.innerText = tiannetMonth "월" <br>if( m_bolShowHour ) document .all.tiannetHourHead.innerText = " " tiannetHour "시간"; <br>if( m_bolShowMinute ) document.all.tiannetMinuteHead.innerText = tiannetMinute "분" <br>tiannetSetValue(false);//값 할당 텍스트 상자를 숨기지 마세요<br>} <br>//표시된 날짜 설정<br>function tiannetSetDay(yy,mm) { <br><br>setRealDayCount();//실제 날짜 설정 월별<br>tiannetWriteHead() ; <br>var strDateFont1 = "", strDateFont2 = "" //날짜 표시 스타일 처리<br>for (var i = 0; i < 37; i ){tiannetArrDay[i ]=""}; // 표시 상자의 모든 내용 지우기 <br>var day1 = 1 <br>var firstday = new Date(yy,mm-1,1).getDay(); 특정 달의 첫 번째 날의 주<BR> for (var i = firstday; day1 < getMonthCount(yy,mm) 1; i ){ <BR>tiannetArrDay[i]=day1;day1 <BR> } <BR>//날짜의 마지막 행을 표시하는 데 사용하는 경우 첫 번째 셀의 값이 비어 있으면 전체 행이 숨겨집니다.<BR>//if(tiannetArrDay[35] == ""){ <BR>// document.all.trTiannetDay5.style.display = "none" <BR>//} else { <BR>// document .all.trTiannetDay5.style.display = ""; <BR>//} <BR>for (var i = 0; i < 37; i ){ <BR>var da = eval("document.all.tdTiannetDay " i) //새 달의 날짜와 주 배열을 적는다<BR>if (tiannetArrDay[i]!="") { <BR>//주말인지 판단, 주말이면 변경 빨간색 글꼴로<BR>if(i % 7 == 0 || (i 1) % 7 == 0){ <BR>strDateFont1 = "<font color=#f0000> <br>strDateFont2 = "< /font>" <br>} else { <br>strDateFont1 = ""; <br>strDateFont2 = "" <br>} <br>da.innerHTML = strDateFont1 tiannetArrDay[i] strDateFont2; <br>//If it 가 현재 선택한 날짜이면 색상을 변경하세요. <br>if(tiannetArrDay[i] == tiannetDay ) { <br>da.style.BackgroundColor = "#CCCCCC" <br>} else { <br>da.style .BackgroundColor = "#EFEFEF" ; <br>} <br>da.style.cursor="hand" <br>} else { <br>da.innerHTML="";da.style.BackgroundColor="";da .style.cursor="default " <br>} <br>}//end for <br>tiannetSetValue(false);//텍스트 상자에 값을 할당하되 이 컨트롤을 숨기지 마세요<br>}// end function tiannetSetDay <br>//옵션에 따라 값 선택 옵션 <br>function checkSelect(objSelect,selectValue) { <br>var count = parsInt(objSelect.length) <br>if( selectValue < 10 && selectValue. toString().length == 2) { <BR>selectValue = selectValue.substring(1,2) <BR>} <BR>for(var i = 0;i < count;i ){ <BR>if (objSelect.options[i].value == selectValue){ <BR>objSelect.selectedIndex = i; <BR>break <BR>} <BR>}//<BR>} <BR>//선택 연도, 월, 시, 분 등 드롭다운 상자<BR>function selectObject(){ <BR>//연도가 허용되는 최소 연도보다 작은 경우 해당 옵션을 만듭니다. <BR>if( tiannetYear < tiannetYearSt ) { <BR>for( var i = tiannetYear;i < tiannetYearSt; i ){ <BR>createOption(document.all.selTianYear,i,i "연도") <BR>} <BR>tiannetYearSt = tiannetYear ; <BR>} <BR>//연도가 최대 허용 연도를 초과하는 경우 해당 옵션을 생성합니다. <BR>if( tiannetYear > tiannetYearEnd ) { <br>for( var i = tiannetYearEnd 1;i <= tiannetYear;i ){ <BR>createOption(document.all.selTianYear,i,i "연도"); <BR>} <BR>tiannetYearEnd = tiannetYear; <BR>} <BR>checkSelect(document.all.selTianYear, tiannetYear); <BR>checkSelect(document.all.selTianMonth,tiannetMonth); <BR>if( m_bolShowHour ) checkSelect(document.all.selTianHour,tiannetHour) <BR>if( m_bolShowMinute ) checkSelect(document.all.selTianMinute, tiannetMinute); <BR>} <BR>//날짜와 시간을 허용하는 컨트롤에 값 할당 <BR>//Parameter bolHideControl - 컨트롤 숨기기 여부 <BR>function tiannetSetValue(bolHideControl){ <BR>var value = ""; <BR>if( !tiannetDay || tiannetDay == "" ){ <BR>tiannetOutObject.value = value; <BR>} <BR>var mm = <BR>var day = tiannetDay; <BR>if( mm < 10 && mm.toString().length == 1) mm = "0" mm <BR>if( day < 10 && day.toString().length = = 1) day = "0" day; <BR>value = tiannetYear tiannetDateSplit mm tiannetDateSplit day <BR>if ( m_bolShowHour ){ <BR>var hour = tiannetHour <BR>if( hour < 10 && hour.toString ().length == 1 ) hour = "0" hour; <BR>value = tiannetDateTimeSplit hour <BR>} <BR>if( m_bolShowMinute ){ <BR>var Minute = tiannetMinute <BR>if( 분 < ; 10 && Minute.toString().length == 1 ) 분 = "0" 분 <BR>value = tiannetTimeSplit 분 <BR>tiannetOutObject.value = <BR>//document.all; .divTiannetDate.style.display = "none"; <BR>if( bolHideControl ) { <BR>tiannetHideControl() ; <BR>} <BR>} <BR>//시간 표시 여부<BR>function showTime( ){ <BR>if( !m_bolShowHour && m_bolShowMinute){ <BR>alert("분을 선택하려면 시간을 선택해야 합니다!"); <BR>return; <BR>} <BR>hideElementsById(new Array("tiannetHourHead","selTianHour","tiannetMinuteHead","selTianMinute"),true); <BR>if( m_bolShowHour ){ <BR>//시간 표시<BR>hideElementsById(new Array("tiannetHourHead"),false) <BR>} <BR>if( m_bolShowMinute){ <BR>//분 표시<BR>hideElementsById(new Array("tiannetMinuteHead) "),false); <BR>} <BR>} <BR>//사용자가 <BR>function tiannetPopCalendar(){ <BR>을 선택할 수 있도록 달력 선택 컨트롤을 표시합니다//드롭다운 상자 숨기기 그리고 해당 헤드를 표시합니다. <BR>hideElementsById(new Array("selTianYear","selTianMonth","selTianHour","selTianMinute"),true); <BR>hideElementsById(new Array("tiannetYearHead","tiannetMonthHead"," tiannetHourHead"," tiannetMinuteHead"),false); <BR>tiannetSetDay(tiannetYear,tiannetMonth); <BR>tiannetWriteHead(); <BR>showTime(); <BR>var Dads = document.all.divTiannetDate.style; <BR>var iX , iY; <br><br>var h = document.all.divTiannetDate.offsetHeight; <BR>var w = document.all.divTiannetDate.offsetWidth <BR>//왼쪽 계산 <BR> window.event.x h > document.body.offsetWidth - 10 ) <BR>iX = window.event.x - h - 5 <BR>else <BR>iX = window.event.x <BR>if (iX < 0) <BR>iX=0; <BR>//상위 계산 <BR>iY = window.event.y; <BR>if (window.event.y w > document.body.offsetHeight - 10 ) <BR> iY = document.body.scrollTop document.body.offsetHeight - w - 5 <BR>else <BR>iY = document.body.scrollTop window.event.y 5; 0) <BR>iY=0; <BR>dads.left = iX; <BR>tiannetShowControl() <BR>selectObject()>// 캘린더 컨트롤 숨기기(강제적으로 숨겨진 라벨도 표시) <BR>function tiannetHideControl(){ <BR>document.all.divTiannetDate.style.display = "none"; <BR>tiannetShowObject() <BR>arrTiannetHide = new Array (); //숨겨진 라벨 객체 지우기<BR>} <BR>//캘린더 컨트롤 표시(가려진 라벨을 숨긴 상태에서) <BR>function tiannetShowControl(){ <BR>document.all.divTiannetDate.style.display = ""; <BR>tiannetHideObject("SELECT"); <BR>tiannetHideObject("OBJECT"); <BR>} <BR>//이름을 기준으로 태그를 숨깁니다. 컨트롤 선택을 포함하는 경우 개체 <BR>function tiannetHideObject(strTagName) { <BR><BR>x = document.all.divTiannetDate.offsetLeft; <BR>y = document.all.divTiannetDate.offsetTop; 🎜> h = document.all.divTiannetDate.offsetHeight; <BR>w = document.all.divTiannetDate.offsetWidth; <br><br>for (var i = 0; i < document.all.tags(strTagName). length; i ) <BR>{ <BR><BR>var obj = document.all.tags(strTagName)[i] <br>if (! obj || ! obj.offsetParent) <br>continue; >/ / BODY 마크에 대한 요소의 상대 좌표를 가져옵니다. <BR>var objTop = obj.offsetTop; <br>var objWidth = obj.offsetWidth; var objParent = obj.offsetParent; <br><BR>while (objParent.tagName.toUpperCase() != "BODY"){ <BR>objLeft = objParent.offsetLeft; objParent.offsetTop; <BR>objParent = objParent.offsetParent; <BR>} <BR>//alert("왼쪽 끝 제어:" x "왼쪽 끝 선택" (objLeft objWidth) "아래 제어:" (y h) "선택 height:" objTop); <BR><BR>var bolHide = true; <BR>if( obj.style.display == "none" || obj.style.visibility == "hidden" || obj.getAttribute( "Author") == " tiannet" ){ <br>//레이블 자체가 숨겨져 있으면 숨길 필요가 없습니다. 컨트롤의 드롭다운 상자인 경우 숨길 필요가 없습니다. <br>bolHide = false; <BR>} <BR>if( ( (objLeft objWidth) > ){ <br>//arrTiannetHide.push(obj);//숨겨진 라벨 객체 기록<br>arrTiannetHide[arrTiannetHide .length] = obj; <br>obj.style.visibility = "hidden"; <br> } <br><br><br>} <br>} <br>//숨겨진 태그 표시<br>function tiannetShowObject (){ <br>for(var i = 0;i < arrTiannetHide.length; i ){ <BR>//alert(arrTiannetHide[i]) <BR>arrTiannetHide[i].style.visibility = "" ; <BR>} <br>} <br>//초기화 날짜. <BR>function tiannetInitDate(strDate){ <BR>var arr = strDate.split(tiannetDateSplit); <BR>tiannetYear = arr[0]; <BR>tiannetMonth = arr[1]; ]; <BR>} <BR>//지우기 <BR>function tiannetClear(){ <BR>tiannetOutObject.value = ""; <BR>tiannetHideControl() <BR>}//클릭 시 닫기 컨트롤 <BR>function document.onclick(){ <BR>with(window.event.srcElement){ <BR>if (tagName != "INPUT" && getAttribute("Author") != "tiannet") <BR>tiannetHideControl(); <BR>} <BR>} <BR>//컨트롤을 닫으려면 ESC 키를 누르세요<BR>function document.onkeypress(){ <BR>if( event.keyCode == 27 ){ <BR> tiannetHideControl() <BR>} <BR>} <BR> (1) 날짜만 선택 (2)날짜 및 시간 선택(3) 날짜, 시간, 분 선택 🎜>