コードをコピー コードは次のとおりです: <br>/**//** <br>*このカレンダー選択コントロールは、以前の経験に基づいて tiannet によって完成されました。コードのほとんどは meizz のカレンダー コントロールから来ています。 <br>*tiannet には、時間選択機能、選択、オブジェクト ラベルの非表示機能、その他の小さな機能が追加されました。<br>*使用法: <br>* (1) 日付のみを選択<input type="text" name="date" readOnly onClick="setDay(this);"> <br>* (2) 日付と時<input type="text" name="dateh" readOnly onClick="setDayH(this);"> <br>* (3)日付、時、分を選択<input type="text" name="datehm" readOnly onClick="setDayHM(this);"> <br>*パラメータの設定方法<br>* (1) 日付区切り文字を設定します setDateSplit(strSplit); (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; font-size: 9pt;color:white;border:0 plain #CCCCCC;cursor:hand;background-color:#2650A6;"; <br>//年、月などを切り替えるためのボタン<br>var s_tiannet_turn = "width:28px;" s_tiannet_turn_base; <br>//閉じる、クリアなどのボタン スタイル<br>var s_tiannet_turn2 = "width:22px;" s_tiannet_turn_base; s_tiannet_select = "width:64px;display:none;"; <br>//月、時、分の選択ドロップダウン ボックス<br>var s_tiannet_select2 = "width:46px;display:none;";日付選択コントロール本体のスタイル<br>var s_tiannet_body = "width:150;background-color:#2650A6;display:none;z-index:9998;position:absolute;" #CCCCCC;border-top:1 実線 #CCCCCC;border -right:1 実線 #999999;border-bottom:1 実線 #999999;"; <br>//その日の td のスタイルを表示<br>var s_tiannet_day = "width:21px;height:20px;background-color:#D8F0FC;font-size:10pt;"; <br>//フォントスタイル<br>var s_tiannet_font = "color:#FFCC00;font-size:9pt;cursor :hand;"; <br>//リンクスタイル<br>var s_tiannet_link = "text-decoration: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 tiannetDateNow.getMonth() 1;月を定義する変数<br>var tiannetDay = tiannetDateNow.getDate(); <br>var tiannetDateNow.getHours(); <br>var 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();// be hidden<br>var m_bolShowHour = false;//時間を表示するかどうか<br>var m_bolShowMinute = false;//分を表示するかどうか<br><br>var m_aMonHead = new Array(12);太陽暦の各月の最大日数<br>m_aMonHead[1] = 31; m_aMonHead[4] = 31; [5] = 30; m_aMonHead[6] = 31; m_aMonHead[9] = 31; ; <br>// ------------------------ - ユーザー呼び出し可能な関数 ------------------------ -------------------// <br>//ユーザー呼び出し可能な関数 - 日付のみを選択 <br>function setDay(obj){ <br>tiannetOutObject = obj; <br>//タグに値がある場合、日付を現在の値に初期化します <br>var strValue = tiannetTrim(tiannetOutObject.value); <br> if( strValue != "" ){ <br>tiannetInitDate (strValue); <br>} <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 時間 = strValue.substring(11,13); <br>if( 時間 } <br>tiannetPopCalendar(); <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>//年のスパンラベルをクリックします。 <br>function spanyearCEvent(){ <br>hideElementsById(new Array("selTian Year" ,"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>//月のスパンラベルをクリックします response<br>function scanMonthCEvent(){ <br>hideElementsById(new Array("selTianMonth","tiannetyearHead"),false); <br>if(m_bolShowHour) hideElementsById(new Array("tiannetHourHead"),false); <br>if(m_bolShowMinute) Array("tiannetMinuteHead"),false); <br>hideElementsById(new Array("tiannetMonthHead","selTianY","selTianHour","selTianMinute"),true); <br>} <br>// クリック時間範囲タグ応答 <br>function spavent(){ <br>hideElementsById(new Array("tiannet YearHead","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","selTianMonth","selTianMinute"),true); >} <br>// 分のスパン ラベルをクリックします。 <br>function scanMinuteCEvent(){ <br>hideElementsById(new Array("tiannet YearHead","tiannetMonthHead"),false); <br>if(m_bolShowHour) hideElementsById ( new Array("tiannetHourHead"),false); <br>if(m_bolShowMinute) hideElementsById(new Array("selTianMinute"),false); <br>hideElementsById(new Array("tiannetMinute","selTianMonth") ,"selTianHour"),true); <br>} <br>//タグ ID に基づいてタグを表示または非表示にする<br>function HideElementsById(arrId,bolHide){ <br>var strDisplay = "" <br>; (bolHide) strDisplay = "none"; <br>for(var i = 0;i <arrid.length>var obj = document.getElementById(arrId[i]); style.display = strDisplay; <br>} <br>} <br>//------ end 日付と時刻を表示するspanタグは、イベント---- -----------------------// <br>//特定の年がうるう年かどうかを判断する <br>function isPin Year( year){ <br>var bolRet = false; <br>if (0==year%4&&((year 0!=0)||(year@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)&&isPin Year(year)) c ; <br>return c; <br>} <br>// 現在の日をリセットします。主に、年または月を切り替えるときに、現在の日がその月の最大日より大きくならないようにするためです。 <br>function setRealDayCount() { <br>if( tiannetDay > getMonthCount(tiannet Year,tiannetMonth) ) { <br> // 現在の日が月の最大日より大きい場合、月の最大日が採用されます <br>tiannetDay = getMonthCount(tiannet Year,tiannetMonth) <br>} <br>} <br> // 1 桁の前にゼロを追加します。 <br>function addZero( value){ <br>if(value value = "0" value; <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 tiannetPrev Year() { <br>if(tiannetyear > 999 && tiannetyear < 10000){tiannet Year--;} <BR>else{alert("年は (1000-9999) の範囲外です!");} <BR>tiannetSetDay(tiannet Year,tiannetMonth) <BR>// year が許容される最小年より小さい場合、対応するオプションを作成します。 <BR>} <BR>checkSelect(document.all.selTianyear,tiannetyear); <BR>tiannetWriteHead(); <BR>} <BR>//年を戻す <BR>function tiannetNext Year() { <BR>if( tiannet年 > 999 && tiannet年 <10000){tiannet年 ;} <BR>else {alert("年が範囲外です (1000-9999)! ");return;} <BR>tiannetSetDay(tiannetyear,tiannetMonth); <BR>//年が最大許容年を超えている場合は、対応するオプションを作成します <BR>if( tiannetyear > tiannet YearEnd ) { <br>tiannetyearEnd = tiannetyear; <br>createOption(document.all.selTian Year,tiannet Year "年") <br>checkSelect(document.all.selTiannet Year) <br>} <br>//今日を選択<br>function tiannetToday() { <br>tiannet Year = tiannetDateNow.getFull Year(); <br>tiannetDay = tiannetDateNow.getDate(); 🎜>tiannetSetValue(true); <br>//tiannetSetDay(tiannetYear,tiannetMonth); <br>//selectObject(); <br>//月を進める<br>function tiannetPrevMonth() { <br>if(tiannetMonth>1){tiannetMonth--}else{tiannetyear--;tiannetMonth=12;} <br>tiannetSetDay(tiannet Year,tiannetMonth) <br>checkSelect(document.all.selTianMonth,tiannetMonth); >tiannetWriteHead(); <br>} <br>//月を反転します<br>function tiannetNextMonth() { <br>if(tiannetMonth==12){tiannet Year ;tiannetMonth=1}else{tiannetMonth } <br> tiannetSetDay(tiannetyear,tiannetMonth); <br>checkSelect(document.all.selTianMonth,tiannetMonth); <br>tiannetWriteHead() <br>// スパンに年、月、時、分を書き込みますタグ データ待ち<br>function tiannetWriteHead(){ <br>document.all.tiannet YearHead.innerText = tiannetyear "年"; <br>document.all.tiannetMonthHead.innerText = tiannetMonth "月"; ) document .all.tiannetHourHead.innerText = " " tiannetHour "時間"; <br>if( m_bolShowMinute ) document.all.tiannetMinuteHead.innerText = tiannetMinute "分";// に値を割り当てますテキスト ボックスですが、このコントロールは非表示にしないでください<br>} <br>//表示される日を設定します<br>function tiannetSetDay(yy,mm) { <br><br>setRealDayCount();//実際の日を設定します今月の<br>tiannetWriteHead() ; <br>var strDateFont1 = "", strDateFont2 = "" //日付表示スタイルを処理します<br>for (var i = 0; i var day1 = 1; <br>var firstday = new Date(yy,mm-1,1).getDay();特定の月の最初の日の週<br> for (var i = firstday; day1 <getmonthcount i>tiannetArrDay[i]=day1;day1 ; } <br>//その日の最後の行を表示するために使用される場合 最初のセルの値が空の場合、行全体が非表示になります。<br>//if(tiannetArrDay[35] == ""){ <br>// document.all.trTiannetDay5.style.display = "none"; <br>//} else { <br>// ドキュメント.all.trTiannetDay5.style.display = ""; <br>//} <br>for (var i = 0; i 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"; 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 = parseInt(objSelect.length) <br>if( selectValue selectValue = selectValue.substring(1,2); <br>} <br>for(var i = 0;i <count>if (objSelect.options[i].value == selectValue){ <br>objSelect.selectedIndex = i; <br>} <br>}//<br>} <br>//年、月、時、分などのドロップダウン ボックス<br>function selectObject(){ <br>//年が許容される最小年より小さい場合は、対応するオプションを作成します。<br>if( tiannetyear < tiannet年St ) { <BR>for( var i = tiannet年;i < tiannet年St; i ){ <BR>createOption(document.all.selTian年,i,i "年"); <BR>tiannet年St = tiannet年; <BR>} <BR>//年が最大許容年を超えている場合は、対応するオプションを作成します <BR>if( tiannetyear > tiannetyearEnd ) { <br>for( var i = tiannet YearEnd 1;i <= tiannetyear;i ){ <BR>createOption(document.all.selTian Year,i,i "年"); <BR>} <BR>tiannetyearEnd = tiannet Year; <BR>checkSelect(document.all.selTianMonth,tiannetMonth); <BR>if(m_bolShowHour) checkSelect(document.all.selTianHour,tiannetHour); <BR>if(m_bolShowMinute) tiannetMinute); <BR>} <BR>//日付と時刻を受け入れるコントロールに値を割り当てます <BR>//パラメータ bolHideControl - コントロールを非表示にするかどうか <BR>関数 tiannetSetValue(bolHideControl){ <BR>var value = ""; <BR>if( !tiannetDay || tiannetDay == "" ){ <BR>戻り値; <BR>var mm = <BR>var日 = tiannetDay; <BR>if( mm < 10 && mm.toString().length == 1) mm = "0" mm; = 1) 日 = "0" 日; <BR>値 = tiannetDateSplit mm tiannetDateSplit 日 <BR>if ( m_bolShowHour ){ <BR>var 時間 = tiannetHour.toString; ().length == 1 ) 時間 = "0" 時間; <BR>値 = tiannetDateTimeSplit 時間; <BR>if( m_bolShowMinute ){ <BR>var minutes = tiannetMinute; ; 10 && 分.toString().length == 1 ) 分 = "0" 分 <BR>値 = tiannetTimeSplit 分 <BR>//document.all; .divTiannetDate.style.display = "none"; <BR>if( bolHideControl ) { <BR>tiannetHideControl() ; <BR>} <BR>} <BR>//時刻を表示するかどうか<BR>関数 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("selTian Year","selTianMonth","selTianHour","selTianMinute"),true); tiannetHourHead"," tiannetMinuteHead"),false); <BR>tiannetSetDay(tiannet Year,tiannetMonth); <BR>tiannetWriteHead(); <BR>showTime(); <BR>var gods = document.all.divTiannetDate.style; <BR>var iX , iY; <BR><br>var h = document.all.divTiannetDate.offsetHeight; <br>var w = document.all.divTiannetDate.offsetWidth; <BR>if ( window.event. x h > document.body.offsetWidth - 10 ) <BR>else <BR>iX = window.event.x 5; (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.top = iY; <br>selectObject();カレンダーコントロールを非表示にする(強制的に非表示にしたラベルも表示する) <br>function tiannetHideControl(){ <br>document.all.divTiannetDate.style.display = "none"; <br>arrTiannetHide = new Array (); //非表示のラベル オブジェクトをクリアします<br>} <br>//カレンダー コントロールを表示します (隠れたラベルを非表示にします) <br>function tiannetShowControl(){ <br>document.all.divTiannetDate.style.display = ""; <br>tiannetHideObject("SELECT"); <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> >/ / BODY マークに対する要素の相対座標を取得します。 <br>var objLeft = obj.offsetTop; <br>var objHeight = obj.offsetHeight; obj.offsetWidth; <BR>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) "select 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>関数 tiannetShowObject (){ <br>for(var i = 0;i <arrtiannethide.length i>//alert(arrTiannetHide[i]); <br>arrTiannetHide[i].style.visibility = "" ; <br>} <br>} <br>//初期化日。 <br>関数 tiannetInitDate(strDate){ <br>var arr = strDate.split(tiannetDateSplit); <br>tiannetyear = arr[0]; <br>tiannetDay = arr[2] ]; <br>} <br>//Clear <br>function tiannetClear(){ <br>tiannetOutObject.value = ""; <br>tiannetHideControl();コントロール <br>関数 document.onclick(){ <br>with(window.event.srcElement){ <br>if (tagName != "INPUT" && getAttribute("Author") != "tiannet") <br>tiannetHideControl(); <br>} <br>} <br>//ESC キーを押してコントロールを閉じます<br>関数 document.onkeypress(){ <br>if(event.keyCode == 27 ){ <br> tiannetHideControl(); <br>} <br>} <br> (1) 日付のみを選択 (2)日付と時間を選択(3) 日付、時、分を選択 🎜>