js日期控件

FR决策报表——JS实现日期控件点击按钮后查询 JS实现日期取消选择时恢复默认值且不传递参数 1、概述 1、决策报表中控件可以放在参数面板中,也可以放在body主体中。区别在于,body主体中的控件只要一经编辑,就会直接触发参数传递,前端效果就是直接触发查询;而在参数面板中,则是需要点击查询按钮,才会提交参数。 2、原生的日期控件编辑后点击“取消”按钮,不会回复初始值。 2、应用场景 如果你不想把控件放在参数面板中(因为参数面板的位置只能是在body的顶端,有些报表布局可能不好看),希望放在body内并且能够点击按钮后再查询。可以参考此文的相关配置。 3 阅读详情
 

 
var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月");
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var days = new Array("日","一", "二", "三", "四", "五", "六");

var cId="";

document.writeln("<div id='Calendar'></div>");
function getToday(){
    //得到今天的年,月,日 
    this.now = new Date();   
    this.year = this.now.getFullYear();
    this.month = this.now.getMonth();
    this.day = this.now.getDate();
    this.hour=this.now.getHours();
    this.minute=this.now.getMinutes();
    this.second=this.now.getSeconds();
}
var cday=(new getToday()).day;
function getDays(month, year){
    //闰年计算
    if (1 == month)
        return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28;
    else
        return daysInMonth[month];
}

function showCalendar(){ 
 cId=arguments[0];
 var today = new getToday();  
 var cyear=today.year;
 var cmonth=today.month;
 var cday=today.day;
 var chour=today.hour;
 var cmin=today.minute;
 var csec=today.second;
 var divContent="<div id='xx'></div><div id='yy'></div><div id='zz'></div>";
 $("#Calendar").show();
 var calendar=document.getElementById("Calendar");
 calendar.style.backgroundColor='green';
 var html="";
 //Year
 html+="<select id='year' onchange='newCalendar()'>";
 for(var i=cyear-5;i<=cyear+20;i++){
  html+="<option value='"+i+"'"+(i==cyear?"selected":"")+">"+i+"</option>";
 }
 html+="</select>";
 //Month
 html+="<select id='month' onchange='newCalendar()'>";
 for(var i=0;i<months.length;i++){
  html+="<option value='"+(i+1)+"'"+(i==cmonth?"selected":"")+">"+months[i]+"</option>";
 }
 html+="</select>";
 //Hour
 html+="&nbsp;&nbsp;&nbsp;&nbsp;<select id='hour'>";
 for(var i=0;i<24;i++){
  html+="<option value='"+i+"'"+(i==chour?"selected":"")+">"+(i<10?"0":"")+i+"</option>";
 }
 html+="</select>";
 //Minute
 html+=":<select id='min'>";
 for(var i=0;i<60;i++){
  html+="<option value='"+i+"'"+(i==cmin?"selected":"")+">"+(i<10?"0":"")+i+"</option>";
 }
 html+="</select>";
 //Second
 html+=":<select id='sec'>";
 for(var i=0;i<60;i++){
  html+="<option value='"+i+"'"+(i==csec?"selected":"")+">"+(i<10?"0":"")+i+"</option>";
 }
 html+="</select>";
 html+="<table><tr>";
 for(var i=0;i<7;i++){
  var dayColor="";
  dayColor=(i==0||i==6)?"style='font-color:red'":"";
  html+="<td style='text-align:center'"+dayColor+">"+days[i]+"</td>";
 } 
 html+="</tr></table>";
 var width=280;
 calendar.innerHTML=divContent;
 $("#xx").html(html);
 html="";
 html+="&nbsp;&nbsp;&nbsp;&nbsp;[<a href=javascript:_chooseNow()>现在</a>]&nbsp;&nbsp;&nbsp;&nbsp;";
 html+="&nbsp;&nbsp;&nbsp;&nbsp;[<a href=javascript:_clearCalendar()>清空</a>]&nbsp;&nbsp;&nbsp;&nbsp;";
 html+="&nbsp;&nbsp;&nbsp;&nbsp;[<a href=javascript:_ok()>确定</a>]";
 $("#zz").html(html);
    calendar.style.visibility='hidden';
    newCalendar(cday);
    calendar.style.position="absolute";
    calendar.style.zIndex="1";
    calendar.style.background="#FFF";
    calendar.style.filter="alpha(opacity=100)";
    calendar.style.border="1px solid #8dcff4";
    calendar.style.mozOpacity="1";
    calendar.style.width=width+"px";
    calendar.style.height="130px";
    calendar.style.textAlign="center";
  
    var tt=document.getElementById(cId);
    var ttop  = tt.offsetTop; 
    var thei  = tt.clientHeight;
    var twid = tt.clientWidth;
    var tleft = tt.offsetLeft;  
    var ttyp  = tt.type;
    while (tt = tt.offsetParent){ttop+=tt.offsetTop; tleft+=tt.offsetLeft;}
    calendar.style.top=(ttyp=="image")? ttop+thei : ttop+thei+6;
    calendar.style.left=tleft+twid-width+1;  
}

function newCalendar(){
 var selYear=$("#year").val();
 var selMon=$("#month").val();
 if(arguments[0]!=null&&arguments[0]!=undefined){
  cday=arguments[0];
 }
 var html="";
 var ii=getWeek(selYear,selMon,1);
 html+="<table>";
 var d=1;
 for(var r=0;r<Math.ceil((ii+getDays(selMon-1,selYear))/7);r++){  
  html+="<tr>";
  for(var c=0;c<7;c++){
   if(c<getWeek(selYear,selMon,d)){
    html+="<td></td>"
   }else{
    html+="<td id='y"+d+"' onmouseover=\"this.style.cursor='hand',this.style.backgroundColor='#CCFF99'\" onmouseout=\"this.style.backgroundColor=''\"onclick='chooseDay("+d+","+selMon+","+selYear+")' align='center'>"+d+++"</td>"
    if(d>getDays(selMon-1,selYear)) break;
   }   
  }  
  html+="</tr>";
 }
 html+="</table>"; 
 $("#yy").html(html);
 chooseDay(cday,selMon,selYear);
 document.getElementById("Calendar").style.visibility="";
}

function getWeek(year,month,day){
 return toDate(year+"-"+month+"-"+day).getDay();
}

function chooseDay(d,m,y){ 
 for(var i=1;i<=daysInMonth[m-1];i++){
  var oo=document.getElementById("y"+i);
  var dd=getWeek(y,m,i);  
  oo.style.color=(dd==0||dd==6)?'red':'black';
  oo.style.fontSize='150%';
  var today=new Date();
  if(i==today.getDate()&&m==today.getMonth()+1) oo.style.color='green';
  oo.style.fontWeight='normal';
 }
 var obj=document.getElementById("y"+d);
 while(obj==null) {
  obj=document.getElementById("y"+--d);
 }
 obj.style.color='yellow';
 obj.style.fontSize='150%';
 obj.style.fontWeight='bold';
 cday=d;
}

function _ok(){ 
 cyear=$("#year").val();
 chour=$("#hour").val();
 cmonth=$("#month").val();
 cmin=$("#min").val();
 csec=$("#sec").val();
 var dStr=cyear+"-"+addZero(cmonth)+"-"+addZero(cday)+" "+addZero(chour)+":"+addZero(cmin)+":"+addZero(csec);
 document.getElementById(cId).value=dStr;
 document.getElementById("Calendar").style.visibility="hidden";
}

function _chooseNow(){ 
 document.getElementById(cId).value=getNowDateTime();
 document.getElementById("Calendar").style.visibility="hidden";
}

function _clearCalendar(){
 document.getElementById(cId).value="";
 document.getElementById("Calendar").style.visibility="hidden";
}

function getNowDateTime(){
    var tDate=new Date();   
    return tDate.getYear()+"-"+(tDate.getMonth()+1)+"-"+addZero(tDate.getDate())+" "+addZero(tDate.getHours())+":"+addZero(tDate.getMinutes())+":"+addZero(tDate.getSeconds());
}

//日期时间一位数补0
function addZero(dd){
 return dd<10?"0"+dd:dd;
}

 

 

要引用这个控件:

时间:<input type="text" name="pubTime" id="pubTime"  readonly onclick="showCalendar('pubTime')" />

JS 应用--操作日期控件 在做selenium操作日期控件时可以通过JS修改日期,简化点击选择的操作,下面以12306为例进行演示操作: 首先,打开12306官网首页https://www.12306.cn/index/,定位到出发日期元素(By.ID, ‘train_date’),查看元素属性发现元素有readonly属性 然后,将将元素的readonly属性设置为false 最后,给元素赋予新的日期值 下面是具体操作步骤: from selenium import webdriver # 1. 打开12306首页 fro 阅读详情

相关推荐

使用JavaScript实现的日期输入控件,支持各种浏览器(包括Firefox)。

在上面的示例中,我们创建了一个日期输入框,使用id属性为"datepicker",并设置了一个用于显示错误消息的span元素,其id为"error-message"。此外,我们还添加了一个用于提交表单的提交按钮。在上面的JavaScript代码中,我们首先获取了日期输入框和错误消息的引用。检查日期字符串是否符合"YYYY-MM-DD"的格式,并尝试将其转换为实际的日期对象。如果日期格式有效,我们清空错误消息,并可以在该逻辑块中添加自己的逻辑代码。首先,我们将创建一个HTML表单,其中包含一个日期输入框。

TechNovaX的博客 530

【js】日期控件的实现

链接:https://pan.baidu.com/s/1KRXSjfqpyguZ67vBrOWM8g。注:src="My97DatePicker/WdatePicker.js"需要根据实际情况改变路径。maxDate:’%y-%M’设置最大日期只能到今天,再往前就无法选择了。minDate:‘{%y-1}-%M’设置最小日期只能向前选择12个月。1、解压后将其复制到项目中,在jsp中进行引用。

m0_46459413的博客 3317

JS的操作之 日期控件的操作

通过组件找不到元素在哪里,无法定位元素的时候,就可以通过写js语句修改value属性 比如日期控件 第一步:编写JS语句 1)打开12306网站,找到日期控件,定位输入日期的元素 2)编写js代码,改变日期 以上三句js语句实现了最终选择的日期 (第一步可以省略,直接在python中写也可以,有第一步的目的是因为初学者对js语句不熟悉,因为在pycharm中没有js的提示,而在console中有提示,这样直接复制到python中即可,不容易出错) 第二步:python实现自动化 ..

谨言的博客 962

精心挑选12款优秀的 JavaScript 日历和时间选择插件

今天这篇文章向大家分享12款精心挑选的优秀 JavaScript 日历和时间选择插件,都带有详细的使用教程和效果演示。这些插件能够帮助 Web 开发人员更快速的实现各种精美的日历和时间选择效果。同时推荐阅读的博文中还有更多实现各种网站功能的 jQuery 优秀插件,欢迎大家可以去淘金。 1. The Coolest Calendar 界面非常漂亮的一款日期选择插件,有详细的使用文档,最

Tizian的专栏 2015

打造全面的JS日期时间选择控件

本文还有配套的精品资源,点击获取 简介:JavaScript日期时间选择控件是一款专为Web开发设计的组件,它实现了跨浏览器兼容性、多语言支持、动画效果、多样化选择类型和键盘操作支持。开发者可以利用其源代码和资源包JSCal2-1.7,轻松集成并自定义控件功能以适应不同的应用场景。通过简单的JavaScript调用,即可嵌入HTML页面,提供快速响应的客户端交互体验,满足现...

weixin_29155599的博客 1972

实现时分秒功能的日期控件JavaScript教程

JavaScript是一种解释型的编程语言,常用于网页前端开发,具备事件驱动、对象导向和函数式编程的特性。JavaScript可以在多种环境中运行,其中最主要的运行环境是浏览器。在浏览器中,JavaScript代码能够与用户直接交互,并操纵网页文档的结构、样式和内容。JavaScript代码通常嵌入在HTML页面中,由浏览器解析执行。ECMAScript是JavaScript的核心标准,不同的浏览器可能会在该标准的基础上进行扩展或实现差异。// JavaScript基础示例');

weixin_35516624的博客 769

js实现日期控件

前言最近花了点时间写了个日期控件,首先说说写日期控件的初衷,有两点: 第一点是没有写过对于日期的生成不甚了解 工作中使用框架的日期控件,但是想要自己实现下该日期控件主要是学习使用,功能不多,支持输出天以及日期范围的选择。 实现思路日期控件实现了单日期以及日期范围的功能,单日期实现效果如下图: 日期范围实现效果图如下: 下面主要说说主要的实现思路,首先说说面板日期的生成,日期面板如下图: 日期面

玉案轩窗的博客 1万+

轻量级纯JavaScript日期控件开发指南

本文还有配套的精品资源,点击获取 简介:日期控件是网页开发中重要的交互元素,本教程介绍了一个使用纯JavaScript实现的日期控件,它不依赖任何外部库,易于集成且提升页面加载速度。教程内容涵盖如何引入JS文件、添加点击事件、界面设计与功能实现、日期处理、自定义扩展以及兼容性和性能优化。 1. 纯JavaScript日期控件实现基础 在构建现代Web应用时,...

weixin_30789053的博客 868

Javascript-日期控件

// 日期控件“popcalendar.js” var fixedX = -1   // x position (-1 if to appear below control) var fixedY = -1   // y position (-1 if to appear below control) var startAt = 1   // 0 - sunday ; 1 - monday var

小李专栏 3274

高速光耦在隔离串口通信中的选型与优化策略

本文深入探讨了高速光耦在隔离串口通信中的关键作用与选型优化策略。针对串口通信中因普通光耦响应慢导致的误码问题,文章详细分析了响应时间、电流传输比、供电电压与隔离耐压等核心选型指标,并对比了6N137、HCPL-0601等主流型号。同时,提供了电路设计、PCB布局的优化技巧及实用的调试指南,旨在帮助工程师实现高速、稳定的隔离串口通信。

grpc6streamer的博客 323

从DWS到设备树:MTK平台LK阶段GPIO初始化的隐秘路径与调试实战

本文深入探讨了MTK平台LK阶段GPIO初始化的完整流程,揭示了从DWS配置到设备树生成的隐秘转换路径。通过分析MT6768等平台的启动框架,提供了针对preloader到LK阶段GPIO初始化异常的实战调试方法与最佳实践,帮助开发者有效解决硬件与软件配置不匹配的常见问题。

h9j8k7l6m5n的博客 1003

日期控件 (JavaScript)

如果需要完整文件可以点击下面的链接下载.Calendar.txt 下载后改名为 Calendar.jsCalendarDemo.txt 改名为 Calendar.htm 用浏览器打开Calendar.htm 即可.(暂时只支持 IE 浏览器, FireFox显示出来后无法选择年月.)希望大家多提意见 :)下面是我自己写的日期控件--Calendar.js 文件内容./* Auther: Ni

七道轮回 1897

Qt代码-软件商店

ui->statusBar->showMessage(QString("%1 已卸载").arg(app["name"].toString()));ui->statusBar->showMessage(QString("开始下载 %1...").arg(app["name"].toString()));QString("%1 已下载完成,是否立即安装?ui->statusBar->showMessage(QString("%1 下载完成").arg(app["name"].toString()));

寒寒豆豆软件公司的博客 112

一个用jS实现的日期控件

这是一个日期控件、可弹出式选取。也可直接在页面上选取并给页面元素赋值,用JavaScript脚本实现。一个用jS实现的日期控件查看在线演示

Naola 的专栏作品 2558

uniapp(全端兼容) - 最新详细实现双色球开奖走势图功能组件,uni-app红球走势图/蓝球走势图,解决双色球 “蓝球连线“ 问题,双色球效果及用线连接每个号码详细教程(同样适用于彩票开奖走势图

uni-app,双色球,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,红球走势,蓝球走势,连线,uniapp(vue):js实现双色球开奖走势图带连线,vue2,vue3,uniApp双色球组件插件,uniapp如何实现双色球走势图和连线,彩票走势图,前端 Vue实现彩票走势图,详细示例,走势图,彩票项目,绘制股票走势图,前端 JS实现彩票开奖走势图 连线,Uniapp有没有双色球的页面代码,红球蓝球的走势图如何做,双色球红球和值尾走势图,

✅ 精选推荐文章 3348

通信原理 | CRC循环冗余校验码(最简介明了的原理和matlab程序)

异或运算: 多项式: CRC校验中用到的除数,是由多项式的各项系数组成的,如下所示: 没有的项系数为0,比如:x5次方、x3次方下一步,在原数据串的末端加“0”0的数量由多项式决定具体来说,多项式的阶数是多少就加几个0 具体操作: 现在,我们有了除数,也有了处理过的数据串,如下所示: 就可以开始计算校验和 了将数据串第一个1与除数左对齐,按位进行异或操作: 将未处理的数据搬下来作为新的数据,重复操作: 将新的数据串第一个1与除数左对齐,再重复按位异或操作: 如此循环,直到所有数据都处理过

若北辰 2358

好用的js日期控件

<br />js日期控件网上有很多,最近找到一个好用,且样式还很漂亮的js日期控件,路径如下:<br /> <br />http://www.my97.net/dp/demo/

karen_wang的专栏 1168

如何用Python编程实现算术割圆术?

第10章 割圆术 Python编程要点 from … import …语句 math模块的sqrt()函数 round()函数 10.1 图解九章 {:–}觚( gū ):正多边形。“六觚”即正六边形,“十二觚”即正十二边形。 图10-1 六觚、十二觚、二十四觚 提示 图10-1所示由图解九章源码中的“图解割圆术.py”自动绘制而成,我们可运行脚本文件,查看动态的绘制过程。 割六觚以...

人邮异步社区 3237

rails中使用javascript日期控件

最近项目中要用到日期控件,昨天在网上找到了一个更好用,扩展性更好的纯javascript的日期控件。 下面附件就是这个控件的源代码,WebCalendar.js (1) 将这个文件放入pulic中javascript里,并在相应layout中引入 (2)使用范例: 开始日期: ...

ziyoujiedao 246

在Simulink中搭建一个基于IoT设备间通信协议栈的仿真模型

物联网(IoT)设备间的通信协议栈仿真对于理解不同层级的协议如何协同工作,以及优化网络性能至关重要。通过Simulink结合MATLAB的强大功能,我们可以模拟和分析从物理层到应用层的完整通信过程。下面详细介绍如何使用Simulink进行IoT设备间通信协议栈的仿真。

amy_mhd的博客 157

可食用野生植物检测实战:基于YOLOv11的智能识别系统全流程指南

本文介绍了一种基于YOLOv11的可食用野生植物智能识别系统。该系统通过深度学习技术,能在0.2秒内精准识别植物是否可食用,准确率高达92%。文章详细阐述了从数据采集、标注到模型训练、验证的全流程,并开发了用户友好的Tkinter交互界面。该系统解决了户外探险和植物研究中植物识别的痛点,具有高精度、实时性和强泛化能力的特点,为户外安全提供了智能化解决方案。

FJN110的博客 164

分享网友的js日期控件

最近在做SSH的一个小项目,以前的js 日期控件不兼容浏览器。 经过我在网上苦找了一天,终于找到了一个目前我测试的几个浏览器兼容的(ie , ff , chrome)   附件为js组件。...

Oh 嗨 146

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

web自动化之js日期控件

前言:我们为什么要用到js语言来操控日期控件?因为有些选择日期不支持send_keys()代码里输入,所以我们就用js来操作。 注:基本的js语句请自行百度搜索 我们打开F12,切换到Console页面,这个页面是用来提供我们写JS语句的,比如 我们通过js语句来获取到“出发日期”的属性,我们看到日期里有 readonly 属性。我们消除它,我们就能输入了 我们a.readOnly=false...

test_WXJ 2224

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

asp.net中调用javascript函数实现多功能日期控件示例

今天在网上看到一个功能非常强大的日期控件,但是人家需要money.在以前搞asp的时候曾经用过一个调用js的日期控件,所以就拿到asp.net中,来发挥他的作用,让它做个免费的,功能强大的日期控件.(可以拖动)首先看看在asp.net中是如何实现调用js函数的.demo:    private void page_load(){    Button1.Attributes.Add("onClick

inshine的专栏 1290

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

rails中使用javascript日期控件(转)

最近项目中要用到日期控件,过去倒是发过一个自己修改的.net控件,使用的是梅花雪的js日期代码,不过昨天在网上找到了一个更好用,扩展性更好的纯javascript的日期控件。 下面就是这个控件的源代码,[url=http://www.cnblogs.com/Files/redstar/WebCalendar.rar]WebCalendar.js(点击下载)[/url],原版初始为英文版,...

mathsfan的blog 217
上一篇: javascript(字符串转时间格式、只允许输入数字)
下一篇: JSTL取整、数组、字符串连接
IamstudyingJava
博客等级 码龄18年 4粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值