输入框JS日历选择器

js时间日期输入框 js时间日期输入框 使用方法如下所示: 时间输入就是这么简单 立即下载
  1. <script language=javascript>
  2. var DS_x,DS_y;
  3. function dateSelector()  //构造dateSelector对象,用来实现一个日历形式的日期输入框。
  4. {
  5. var myDate=new Date();
  6. this.year=myDate.getFullYear()+1;  //定义year属性,年份,默认值为当前系统年份。
  7. this.month=myDate.getMonth()+1;  //定义month属性,月份,默认值为当前系统月份。
  8. this.date=myDate.getDate();  //定义date属性,日,默认值为当前系统的日。
  9. this.inputName='';  //定义inputName属性,即输入框的name,默认值为空。注意:在同一页中出现多个日期输入框,不能有重复的name!
  10. this.display=display;  //定义display方法,用来显示日期输入框。
  11. }
  12. function display()  //定义dateSelector的display方法,它将实现一个日历形式的日期选择框。
  13. {
  14. var week=new Array('日','一','二','三','四','五','六');
  15. document.write("<style type=text/css>");
  16. document.write("  .ds_font td,span  { font: normal 12px 宋体; color: #000000; }");
  17. document.write("  .ds_border  { border: 1px solid #000000; cursor: hand; background-color: #DDDDDD }");
  18. document.write("  .ds_border2  { border: 1px solid #000000; cursor: hand; background-color: #DDDDDD }");
  19. document.write("</style>");
  20. document.write("<input style='text-align:center;' id='DS_"+this.inputName+"' name='"+this.inputName+"' value='"+this.year+"-"+this.month+"-"+this.date+"' title=双击可进行编缉 ondblclick='this.readOnly=false;this.focus()' onblur='this.readOnly=true' readonly>");
  21. document.write("<button style='width:60px;height:18px;font-size:12px;margin:1px;border:1px solid #A4B3C8;background-color:#DFE7EF;' type=button onclick=this.nextSibling.style.display='block' onfocus=this.blur()>选择日期</button>");
  22. document.write("<div style='position:absolute;display:none;text-align:center;width:0px;height:0px;overflow:visible' onselectstart='return false;'>");
  23. document.write("  <div style='position:absolute;left:-60px;top:20px;width:142px;height:165px;background-color:#F6F6F6;border:1px solid #245B7D;' class=ds_font>");
  24. document.write("    <table cellpadding=0 cellspacing=1 width=140 height=20 bgcolor=#CEDAE7 onmousedown='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();' onmouseup='releaseCapture();' onmousemove='dsMove(this.parentNode)' style='cursor:move;'>");
  25. document.write("      <tr align=center>");
  26. document.write("        <td width=12% onmouseover=this.className='ds_border' onmouseout=this.className='' onclick=subYear(this) title='减小年份'><<</td>");
  27. document.write("        <td width=12% onmouseover=this.className='ds_border' onmouseout=this.className='' onclick=subMonth(this) title='减小月份'><</td>");
  28. document.write("        <td width=52%><b>"+this.year+"</b><b>年</b><b>"+this.month+"</b><b>月</b></td>");
  29. document.write("        <td width=12% onmouseover=this.className='ds_border' onmouseout=this.className='' onclick=addMonth(this) title='增加月份'>></td>");
  30. document.write("        <td width=12% onmouseover=this.className='ds_border' onmouseout=this.className='' onclick=addYear(this) title='增加年份'>>></td>");
  31. document.write("      </tr>");
  32. document.write("    </table>");
  33. document.write("    <table cellpadding=0 cellspacing=0 width=140 height=20 onmousedown='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();' onmouseup='releaseCapture();' onmousemove='dsMove(this.parentNode)' style='cursor:move;'>");
  34. document.write("      <tr align=center>");
  35. for(i=0;i<7;i++)
  36. document.write("      <td>"+week[i]+"</td>");
  37. document.write("      </tr>");
  38. document.write("    </table>");
  39. document.write("    <table cellpadding=0 cellspacing=2 width=140 bgcolor=#EEEEEE>");
  40. for(i=0;i<6;i++)
  41. {
  42. document.write("    <tr align=center>");
  43. for(j=0;j<7;j++)
  44. document.write("    <td width=10% height=16 onmouseover=if(this.innerText!=''&&this.className!='ds_border2')this.className='ds_border' onmouseout=if(this.className!='ds_border2')this.className='' onclick=getvalue(this,document.all('DS_"+this.inputName+"'))></td>");
  45. document.write("    </tr>");
  46. }
  47. document.write("    </table>");
  48. document.write("    <span style=cursor:hand onclick=this.parentNode.parentNode.style.display='none'>【关闭】</span>");
  49. document.write("  </div>");
  50. document.write("</div>");
  51. dateShow(document.all("DS_"+this.inputName).nextSibling.nextSibling.childNodes[0].childNodes[2],this.year,this.month)
  52. }
  53. function subYear(obj)  //减小年份
  54. {
  55. var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;
  56. myObj[0].innerHTML=eval(myObj[0].innerHTML)-1;
  57. dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))
  58. }
  59. function addYear(obj)  //增加年份
  60. {
  61. var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;
  62. myObj[0].innerHTML=eval(myObj[0].innerHTML)+1;
  63. dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))
  64. }
  65. function subMonth(obj)  //减小月份
  66. {
  67. var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;
  68. var month=eval(myObj[2].innerHTML)-1;
  69. if(month==0)
  70. {
  71. month=12;
  72. subYear(obj);
  73. }
  74. myObj[2].innerHTML=month;
  75. dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))
  76. }
  77. function addMonth(obj)  //增加月份
  78. {
  79. var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;
  80. var month=eval(myObj[2].innerHTML)+1;
  81. if(month==13)
  82. {
  83. month=1;
  84. addYear(obj);
  85. }
  86. myObj[2].innerHTML=month;
  87. dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))
  88. }
  89. function dateShow(obj,year,month)  //显示各月份的日
  90. {
  91. var myDate=new Date(year,month-1,1);
  92. var today=new Date();
  93. var day=myDate.getDay();
  94. var selectDate=obj.parentNode.parentNode.previousSibling.previousSibling.value.split('-');
  95. var length;
  96. switch(month)
  97. {
  98. case 1:
  99. case 3:
  100. case 5:
  101. case 7:
  102. case 8:
  103. case 10:
  104. case 12:
  105. length=31;
  106. break;
  107. case 4:
  108. case 6:
  109. case 9:
  110. case 11:
  111. length=30;
  112. break;
  113. case 2:
  114. if((year%4==0)&&(year%100!=0)||(year%400==0))
  115. length=29;
  116. else
  117. length=28;
  118. }
  119. for(i=0;i<obj.cells.length;i++)
  120. {
  121. obj.cells[i].innerHTML='';
  122. obj.cells[i].style.color='';
  123. obj.cells[i].className='';
  124. }
  125. for(i=0;i<length;i++)
  126. {
  127. obj.cells[i+day].innerHTML=(i+1);
  128. if(year==today.getFullYear()&&(month-1)==today.getMonth()&&(i+1)==today.getDate())
  129. obj.cells[i+day].style.color='red';
  130. if(year==eval(selectDate[0])&&month==eval(selectDate[1])&&(i+1)==eval(selectDate[2]))
  131. obj.cells[i+day].className='ds_border2';
  132. }
  133. }
  134. function getvalue(obj,inputObj)  //把选择的日期传给输入框
  135. {
  136. var myObj=inputObj.nextSibling.nextSibling.childNodes[0].childNodes[0].cells[2].childNodes;
  137. if(obj.innerHTML)
  138. inputObj.value=myObj[0].innerHTML+"-"+myObj[2].innerHTML+"-"+obj.innerHTML;
  139. inputObj.nextSibling.nextSibling.style.display='none';
  140. for(i=0;i<obj.parentNode.parentNode.parentNode.cells.length;i++)
  141. obj.parentNode.parentNode.parentNode.cells[i].className='';
  142. obj.className='ds_border2'
  143. }
  144. function dsMove(obj)  //实现层的拖移
  145. {
  146. if(event.button==1)
  147. {
  148. var X=obj.clientLeft;
  149. var Y=obj.clientTop;
  150. obj.style.pixelLeft=X+(event.x-DS_x);
  151. obj.style.pixelTop=Y+(event.y-DS_y);
  152. }
  153. }
  154. </script>
  155. 从
  156. <script language=javascript>
  157. var myDate=new dateSelector();
  158. myDate.year--;
  159. myDate.inputName='start_date';  //注意这里设置输入框的name,同一页中日期输入框,不能出现重复的name。
  160. myDate.display();
  161. </script>
JS的日期输入框,可以直接使用 这个是我做项目时用到的,感觉还可以,大家可以用下看看。 立即下载

相关推荐

JS日期选择器(适用于文本框输入日期)

一个适用的JS(javascript)实现的文本框日期选择器。

JavaScript之添加日期显示

JavaScript之添加日期显示

明德zhuang 2980

Xilinx XDMA IP核配置实战:AXI Memory Mapped vs Stream选型指南(附PCIe调试技巧)

本文深入解析Xilinx XDMA IP核配置中AXI Memory Mapped与AXI Stream两种DMA接口的核心区别与选型策略。针对PCIe高速数据传输场景,详细对比了二者在数据特性、延迟、硬件资源及软件复杂度上的差异,为FPGA工程师在数据采集、实时处理等项目中做出高效设计决策提供实战指南,并附有关键的PCIe调试技巧。

qsc901234的博客 585

js日期输入框

var gMonths=new Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"); var WeekDay=new Array("日","一","二","三","四","五","六"); var strToday="今天"; var strYear="年"; var strMonth="月"; va

mu_xiaoxia的专栏 912

疑难问题(二)——PyTorch 2.3.0 ‘import torch‘ 错误排查:深入解析‘shm.dll‘加载失败与系统路径修复

本文深入解析了在Windows系统上安装PyTorch 2.3.0后,执行'import torch'时遇到的'shm.dll'加载失败错误(OSError)。该问题通常源于系统DLL搜索路径缺失,导致无法找到关键的共享内存通信组件或其依赖项。文章提供了核心解决方案:通过手动修改PyTorch的`__init__.py`文件,将用户基目录下的Library\bin路径添加到DLL搜索列表中,从而从根本上修复此导入错误,并给出了详细的修改步骤和验证方法。

weixin_29056865的博客 305

embedding计算过程

文章目录embedding计算过程(错了跟我讲,我会改)参考示例个人理解过程图示总结(基于pytorch) embedding计算过程(错了跟我讲,我会改) 参考示例 https://www.jianshu.com/p/63e7acc5e890 个人理解过程图示 总结(基于pytorch) 总的来说,就是将独热向量的长度(对应嵌入层的num_embeddings)转变为嵌入层的emdedding_size(而独热向量的维数就是你的数据中一共产生了多少个不一样的词,至少是这么多)。 数据的变化,将二维

纸上得来终觉浅,绝知此事要躬行! 1631

caladar日期输入

 JS日期选择器function HS_DateAdd(interval,number,date){ number = parseInt(number); if (typeof(date)=="string"){var date = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2])} if (typeof(date

yizhenfengdx的专栏 891

黑马Java第二阶段:JavaWeb(笔记)

黑马Java第二阶段:JavaWeb(笔记)

chen的博客 5653

日期输入框JS

<script> function onku1(obj){ var txt = obj.value; //數字鍵 //alert(event.keyCode); if(event.keyCode &...

weixin_30757793的博客 130

numeca linux 11,NUMECA FINE/Turbo16下载-NUMECA FINE/Turbo16官方版v16.0 最新版 - 起点软件园...

NUMECA FINE/Turbo16,空气动力学模拟工具,帮助小伙伴随时仿真模拟,让小伙伴可以模拟出最真实的环境,让小伙伴可以轻松完成环境模拟的服务,帮助小伙伴更好的解决自己的课题研究!NUMECA FINE/Turbo16说明1、支持在64位WINDOWS操作系统和LINUX操作系统下运行2、基于全二阶精度的数值格式,保证了计算精度3、采用先进的全多重网格技术和基于密度的求解方法保证了快速的流...

weixin_39858298的博客 1621

别再手动对照了!用Python+ArcGIS Pro一键搞定三调数据转土地三大类

本文介绍如何利用Python和ArcGIS Pro实现三调数据向土地三大类的自动化转换,大幅提升国土空间规划和土地变更调查的工作效率。通过封装分类规则为Python函数并集成到ArcGIS Pro脚本工具中,解决了传统手动操作耗时且易错的问题,适用于大规模数据处理场景。

weixin_29081101的博客 304

js日历(很好用)

代码非原创..博客是原创.........     先上图   测试页面   &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt; &lt;title&gt;无标题文档&lt;/title&gt; &lt;sc

不懂就是不懂 222

【YOLOv11改进[Backbone]】 使用Ghostnetv2替换Backbone

使用Ghostnetv2替换Backbone

静谧、淡雅 518

纯JS的日历选择器

JS代码: // 日期选择 var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"); var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); ...

dianzhen5713的博客 401

[VT虚拟化驱动]正式启动VT

文章目录前言一、vmlaunch正式开始虚拟化二、使用步骤1.引入库2.读入数据总结 前言 本章开始真正实现一个最简单的VT框架,当然,只是能跑起来一个VT驱动了,没有并包括EPT,EPT后面再讲 提示:以下是本篇文章正文内容,下面案例可供参考 一、vmlaunch正式开始虚拟化 执行VMLAUNCH指令执行后,就正式进入虚拟化了,再该指令执行之前,得先保存Guest当前的环境,执行完VMLAUNCH后,要恢复Guest的环境,让Guest就像什么都没发生一样,所以需要保存和恢复Guest的各种寄存器的值

吾无法无天的博客 3661

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

javascript 文本框 点击 下拉 日历 源码

<script language="JavaScript" type="text/JavaScript"> // 日期选择 // By Ziyue(http://www.web-v.com/) var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月",...

169

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Js日期选择器并自动加入到输入框中

<html><head><title>Js日期选择器并自动加入到输入框中</title><metahttp-equiv="content-Type"content="text/html;charset=gb2312"><scripttype="text/javascript">vargMonth...

G19931112的博客 309

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Js日期选择器并自动加入到输入框中示例代码

Js日期选择器并自动加入到输入框中 var gMonths=new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); var WeekDay=new Array("日","一","二","三","四","五","六"); var strToday="今天"; var strYea

iphone开发收集盒子 1149

JavaScript实现简单日历

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>JavaScr

淡忘~浅思 4211

js 写日期选择器

<html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <script type="text/javascript"> var gMonths=...

weixin_33774883的博客 108

去耦电容放错位置反成天线?电容摆放对EMC辐射超标的影响与整改实战

在PCB设计与硬件调试中,去耦电容是抑制电源噪声和电磁干扰的常用手段,但很多工程师往往只关注容值与数量,忽略了电容的实际摆放位置。真实电容器件存在寄生电感与自谐振频率,高频条件下会从容性变为感性,一旦安装位置偏离芯片电源引脚,或过孔顺序不当,回流路径被拉长,环路面积增大,辐射发射反而可能不降反增。通过理解电流回流路径和差模辐射原理,采用“引脚→电容→过孔”的最短回路布局,并配合近场探头与频谱仪定位超标频点,可以有效解决100MHz以上频段的辐射问题。该方法在电机控制板、接口板和电源板的整改中均有显著效果。本

weixin_34279246的博客 319

Js日期选择器并自动加入到输入框中(超好用)

Js日期选择器并自动加入到输入框中 var gMonths=new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); var WeekDay=new Array("日","一","二","三","四","五","六"); var strToday="今天"; var strYea

3414

JavaScript实现日历

说明:时间的问题在开发十几种非常的实用 但处理很麻烦 下面提供一个简单但是 实用的方法!只是在页面通过调用下面的javaScript !在数据库中的的数据类型可以申请为String的类型 调用和处理起来也就很方便 不用进行转换!、 效果图:   &lt;script language="JavaScript"&gt; String.prototype.Format = funct...

IT小开--枫之轩 225

My 97 DatePicker

 onClick="WdatePicker()"/>一个好用的javascript日历控件from:http://www.my97.net/dp/demo/index.htm

imzhchl的专栏 1747
上一篇: .NET中如何取得IP或者用户名等信息
下一篇: 光盘安装ubuntu出现BusyBox不能继续安装的终极解决方法
cqinter
博客等级 码龄21年 14粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值