问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

让文本框得到日历控件上选中的日期,谢谢,失去焦点后,日历控件消失,日历...

发布网友 发布时间:2022-05-14 02:18

我来回答

1个回答

热心网友 时间:2022-04-22 15:39

<HTML><HEAD><TITLE>日期选择             </TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2014.210" name=GENERATOR></HEAD>
<SCRIPT language="javascript">
<!--
var gdCtrl = new Object();
var goSelectTag = new Array();
var gcGray = "#808080";
var gcToggle = "#ffff00";
var gcBG = "#99CCFF";
var previousObject = null;

var gdCurDate = new Date();
var giYear = gdCurDate.getFullYear();
var giMonth = gdCurDate.getMonth()+1;
var giDay = gdCurDate.getDate();

var gCalMode = "";
var gCalDefDate = "";

var CAL_MODE_NOBLANK = "2";

function fSetDate(iYear, iMonth, iDay){
  //VicPopCal.style.visibility = "hidden";
  if ((iYear == 0) && (iMonth == 0) && (iDay == 0)){
  gdCtrl.value = "";
  }else{
  iMonth = iMonth + 100 + "";
  iMonth = iMonth.substring(1);
  iDay   = iDay + 100 + "";
  iDay   = iDay.substring(1);
  gdCtrl.value = iYear+"-"+iMonth+"-"+iDay;
  }
  
  for (i in goSelectTag)
  goSelectTag[i].style.visibility = "visible";
  goSelectTag.length = 0;
  
  window.returnValue=gdCtrl.value;
  window.close();
}

function HiddenDiv()
{
var i;
  VicPopCal.style.visibility = "hidden";
  for (i in goSelectTag)
  goSelectTag[i].style.visibility = "visible";
  goSelectTag.length = 0;

}
function fSetSelected(aCell){
  var iOffset = 0;
  var iYear = parseInt(tbSelYear.value);
  var iMonth = parseInt(tbSelMonth.value);
  
  aCell.bgColor = gcBG;
  with (aCell.children["cellText"]){
  var iDay = parseInt(innerText);
  if (color==gcGray)
iOffset = (Victor<10)?-1:1;

/*** below temp patch by maxiang ***/
if( color == gcGray ){
iOffset = (iDay < 15 )?1:-1;
}
/*** above temp patch by maxiang ***/

iMonth += iOffset;
if (iMonth<1) {
iYear--;
iMonth = 12;
}else if (iMonth>12){
iYear++;
iMonth = 1;
}
  }
  fSetDate(iYear, iMonth, iDay);
}

function Point(iX, iY){
this.x = iX;
this.y = iY;
}

function fBuildCal(iYear, iMonth) {
  var aMonth=new Array();
  for(i=1;i<7;i++)
  aMonth[i]=new Array(i);
  
  var dCalDate=new Date(iYear, iMonth-1, 1);
  var iDayOfFirst=dCalDate.getDay();
  var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();
  var iOffsetLast=new Date(iYear, iMonth-1, 0).getDate()-iDayOfFirst+1;
  var iDate = 1;
  var iNext = 1;

  for (d = 0; d < 7; d++)
aMonth[1][d] = (d<iDayOfFirst)?-(iOffsetLast+d):iDate++;
  for (w = 2; w < 7; w++)
  for (d = 0; d < 7; d++)
aMonth[w][d] = (iDate<=iDaysInMonth)?iDate++:-(iNext++);
  return aMonth;
}

function fDrawCal(iYear, iMonth, iCellHeight, sDateTextSize) {
  var WeekDay = new Array("日","一","二","三","四","五","六");
  var styleTD = " bgcolor='"+gcBG+"' bordercolor='"+gcBG+"' valign='middle' align='center' height='"+iCellHeight+"' style='font-size:12px; ";

  with (document) {
write("<tr>");
for(i=0; i<7; i++)
write("<td "+styleTD+" color:#990099' >" + WeekDay[i] + "</td>");
write("</tr>");

  for (w = 1; w < 7; w++) {
write("<tr>");
for (d = 0; d < 7; d++) {
write("<td id=calCell "+styleTD+"cursor:hand;' onMouseOver='this.bgColor=gcToggle' onMouseOut='this.bgColor=gcBG' onclick='fSetSelected(this)'>");
write("<font id=cellText ><b> </b></font>");
write("</td>")
}
write("</tr>");
}
  }
}

function fUpdateCal(iYear, iMonth) {
  myMonth = fBuildCal(iYear, iMonth);
  var i = 0;
  for (w = 0; w < 6; w++)
for (d = 0; d < 7; d++)
with (cellText[(7*w)+d]) {
Victor = i++;
if (myMonth[w+1][d]<0) {
color = gcGray;
innerText = -myMonth[w+1][d];
}else{
// Modified by maxiang for we need 
// Saturday displayed in blue font color.
//color = ((d==0)||(d==6))?"red":"black";
if( d == 0 ){
color = "red";
}else if( d == 6 ){
color = "blue";
}else{
color = "black";
}
// End of above maxiang
innerText = myMonth[w+1][d];
}
}
}

function fSetYearMon(iYear, iMon){
  tbSelMonth.options[iMon-1].selected = true;
  for (i = 0; i < tbSelYear.length; i++)
if (tbSelYear.options[i].value == iYear)
tbSelYear.options[i].selected = true;
  fUpdateCal(iYear, iMon);
}

function fPrevMonth(){
  var iMon = tbSelMonth.value;
  var iYear = tbSelYear.value;
  
  if (--iMon<1) {
  iMon = 12;
  iYear--;
  }
  
  fSetYearMon(iYear, iMon);
}

function fNextMonth(){
  var iMon = tbSelMonth.value;
  var iYear = tbSelYear.value;
  
  if (++iMon>12) {
  iMon = 1;
  iYear++;
  }
  
  fSetYearMon(iYear, iMon);
}

function fToggleTags(){
  with (document.all.tags("SELECT")){
 for (i=0; i<length; i++)
 if ((item(i).Victor!="Won")&&fTagInBound(item(i))){
 item(i).style.visibility = "hidden";
 goSelectTag[goSelectTag.length] = item(i);
 }
  }
}

function fTagInBound(aTag){
  with (VicPopCal.style){
  var l = parseInt(left);
  var t = parseInt(top);
  var r = l+parseInt(width);
  var b = t+parseInt(height);
var ptLT = fGetXY(aTag);
return !((ptLT.x>r)||(ptLT.x+aTag.offsetWidth<l)||(ptLT.y>b)||(ptLT.y+aTag.offsetHeight<t));
  }
}

function fGetXY(aTag){
  var oTmp = aTag;
  var pt = new Point(0,0);
  do {
  pt.x += oTmp.offsetLeft;
  pt.y += oTmp.offsetTop;
  oTmp = oTmp.offsetParent;
  } while(oTmp.tagName!="BODY");
  return pt;
}

// Main: popCtrl is the widget beyond which you want this calendar to appear;
//       dateCtrl is the widget into which you want to put the selected date.
// i.e.: <input type="text" autocomplete=off name="dc" style="text-align:center" readonly><INPUT type="button" value="V" onclick="fPopCalendar(dc,dc);return false">
function fPopCalendar(popCtrl, dateCtrl, mode, defDate){
gCalMode = mode;
gCalDefDate = defDate;

  if (popCtrl == previousObject){
  if (VicPopCal.style.visibility == "visible"){
  //HiddenDiv();
  return true;
  }
  
  }
  previousObject = popCtrl;
  gdCtrl = dateCtrl;
  fSetYearMon(giYear, giMonth); 
  var point = fGetXY(popCtrl);

if( gCalMode == CAL_MODE_NOBLANK ){
document.all.CAL_B_BLANK.style.visibility = "hidden";
}else{
document.all.CAL_B_BLANK.style.visibility = "visible";
}

  with (VicPopCal.style) {
  left = point.x;
top  = point.y+popCtrl.offsetHeight;
width = VicPopCal.offsetWidth;
height = VicPopCal.offsetHeight;
fToggleTags(point); 
visibility = 'visible';
  }
}

var gMonths = new Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");

with (document) {
write("<Div id='VicPopCal' style='OVERFLOW:hidden;POSITION:absolute;VISIBILITY:hidden;border:0px ridge;width:100%;height:100%;top:0;left:0;z-index:100;overflow:hidden'>");
write("<table border='0' bgcolor='#3366CC'>");
write("<TR>");
write("<td valign='middle' align='center'><input type='button' class='button' name='PrevMonth' value='<' style='height:20;width:20;FONT:bold' onClick='fPrevMonth()'>");
write("&nbsp;<SELECT name='tbSelYear' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' Victor='Won'>");
for(i=1990;i<giYear+20;i++)
write("<OPTION value='"+i+"'>"+i+"年</OPTION>");
write("</SELECT>");
write("&nbsp;<select name='tbSelMonth' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' Victor='Won'>");
for (i=0; i<12; i++)
write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");
write("</SELECT>");
write("&nbsp;<input type='button' class='button' name='PrevMonth' value='>' style='height:20;width:20;FONT:bold' onclick='fNextMonth()'>");
write("</td>");
write("</TR><TR>");
write("<td align='center'>");
write("<DIV style='background-color:#000066'><table width='100%' border='0'>");
fDrawCal(giYear, giMonth, 8, '12');
write("</table></DIV>");
write("</td>");
write("</TR><TR><TD align='center'>");
write("<TABLE width='100%'><TR><TD align='center'>");
write("<B ID=\"CAL_B_BLANK\" style='color:"+gcBG+"; visibility:visible; cursor:hand; font-size:12px' onclick='fSetDate(0,0,0)' onMouseOver='this.style.color=gcToggle' onMouseOut='this.style.color=gcBG'>清空</B>");
write("</td><td algin='center'>");
write("<B style='color:"+gcBG+";cursor:hand; font-size:12px' onclick='fSetDate(giYear,giMonth,giDay)' onMouseOver='this.style.color=gcToggle' onMouseOut='this.style.color=gcBG'>选择: "+giYear+"/"+giMonth+"/"+giDay+"</B>");
write("</td></tr></table>");
write("</TD></TR>");
write("</TABLE></Div>");
}
-->
</SCRIPT>
<BODY bgColor=#3D8BBC onload=fload()>
<SCRIPT>
function fload()
{
fPopCalendar(document.all.txt1, document.all.txt1);
}

function fkeydown()
{
if(event.keyCode==27){
event.returnValue = null;
window.returnValue = null;
window.close();
}
}

document.onkeydown=fkeydown;
</SCRIPT>
<INPUT id=txt1 style="DISPLAY: none"> </BODY></HTML>

以上是日期控件  Calendar.htm  的代码   

<!--#INCLUDE FILE="SelectDate.asp"--
 <form method="POST" name="myform"  action=" " target="_self">
 <input name="AddDate" type="text" id="AddDate" value="<%=date%>" maxlength="50">
              <input onClick="popUpcalendar(this, myform.AddDate, 'yyyy-mm-dd')" type="button" class="button" value="选择日期" title="选择日期">
              </form>

表单  名称myform


以下是SelectDate.asp 的内容

<SCRIPT language=javascript>
function popUpcalendar(ctl,obj,format)
{
    if (arguments.length==0){
  //如果是文本框的onmousedown世间是由脚本绑定的,且没有参数  modified by qiuchun
  if (event.srcElement){
    var pchild = event.srcElement;
    if (pchild.type && pchild.type.toLowerCase() == "text")
      arguments[0] = pchild.id;
  }
}
var x=event.screenX;
var y=event.screenY;
var result=window.showModalDialog('Calendar.htm','Calendar',"dialogLeft:"+x+"px;dialogTop:"+y+"px;dialogWidth:195px;dialogHeight:200px;help:no;status:no");
//alert(arguments[0]);
if(result!=null)
arguments[1].value=result;
//eval(arguments[0]+".value=result");
return false;
}
</SCRIPT>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
柏林地铁路线 高三敬业话题作文800字 怀孕可以吃羊肉米粉吗 坐月子能不能吃羊肉粉 坐月子吃羊肉的好处 卜蜂蛋鸡预混料配方 怀孕多久后才能吃羊肉粉 一个人不花钱完美世界国际版玩什么职业最好?多谢了 女孩也会花心吗? 女生也会花心么? 三孔附近有什么好玩的地方 every moment of my life 伴奏。 moment.js插件怎么在nodejs中使用 显示为了我的账号安全,此不能登陆网页微信是为什么啊? 农商行社保卡可以当作银行卡么 怎么把u盘中不在的文件删除 电压不稳定会导致洗衣机烘干,烘到一半停止吗? 洗衣机烘干时中途停机请问一下怎么打开? 你好,你那里有ev1527调好的电路原理图么 谁有51单片机解码pt2272的C程序 或者解码ev1527的C程序 发过来参考一下。。。。。 ev1527可以做红外发射吗 无线射频中的2262和1527编码是什么意思 有没有哪款编码器能替代pt2262,体积越小,口越少约好。 ev1527可直接更换吗 有谁用过eV1527这个编码IC啊?能请教一下怎么用吗?用在射频上是否可行? EV1527是什么版本 魔兽未加密地图为什么不可仪修改 ev1527通用吗 怎么把qq语音slk文件转换成其他格式或者让它能播放? 最新版的...老办法都不管用... 真人cs激光对抗赛有什么技巧么?(正规比赛,场地是树林) 人要打好cs要做到什么? vs2010(c#语言)中使用Chart控件,横纵坐标的起点不相交。 被封15天,是有哪些原因? 微信被封。 如何把别人的给封了? 玉貔貅手把件怎么把玩 我的被永久封号了三个。都没有注销实名认证,这会对我有什么影响那? 玉石手把件怎么盘玩 本港台直播 镇江市丹徒区保安服务公司怎么样? 镇江市丹徒区兴城建设开发公司怎么样? 公司在镇江注册在盐城如果要申请劳动仲裁是在镇江还是盐城???? 镇江市制刷厂有限公司怎么样? 新国标电动车报警判断 高考300分报什么学校 安装时手机提示,百度输入法会收集输入的银行密码,或登录密码等个人信息,我现在没敢使用。 手机上下载搜狗输入法刚用时显示此输入法会采集所有输入文字包括密码,那这样我的密码会泄露出去吗? 黑苹果 OS X 支持触摸吗?如果用黑苹果台式机 陪了一个触摸屏 能使用触摸吗? 小米手机切换输入法时提醒可能会收集密码是什么意思 你好,勾选讯飞输入法后怎么会提示“搜集你输入的所有信息,包括密码 讯飞输入法收集密码和信用卡号正常吗?还是我遇到了假的软件,骗子用来钓鱼的