(function ($) {
$.messageBox = function (message) {
$.messager.show({
title:'消息框提示',
msg:message,
showType:'show'
});
}; /**
* 获取时间区间
* @param type 1:当年的一月一日到现在;type 2:获取当月的第一天和最后一天
* return {startTime:xxxx,endTime:xxxx}
*/
$.getTimeInterval = function (type,date){
var startTime, endTime;
if (type == 1) {
var year = new Date();
startTime = new Date(year.getFullYear(), 0, 1); //年头(xxxx-1-1)
endTime = new Date();
}else if(type == 2){
var y = date.substr(0,4), m = date.substr(4,2);
startTime = new Date(y,m-1,1).format("yyyy-MM-dd");
var days = new Date(y,m,0).getDate();
endTime = new Date(y,m-1,days).format("yyyy-MM-dd");
}
return {startTime:startTime, endTime:endTime};
} //防止dialog框拖动时超出父面板,需要在有dialog的页面调用
$.setDialogPosition = function () {
var easyuiPanelOnMove = function (left, top) {
var l = left;
var t = top;
if (l < 1) {
l = 1;
}
if (t < 1) {
t = 1;
}
var width = parseInt($(this).parent().css('width')) + 14;
var height = parseInt($(this).parent().css('height')) + 14;
var right = l + width;
var buttom = t + height;
var browserWidth = $(window).width();
var browserHeight = $(window).height();
if (right > browserWidth) {
l = browserWidth - width;
}
if (buttom > browserHeight) {
t = browserHeight - height;
}
$(this).parent().css({
//修正面板位置
left:l,
top:t
});
};
$.fn.dialog.defaults.onMove = easyuiPanelOnMove;
$.fn.window.defaults.onMove = easyuiPanelOnMove;
$.fn.panel.defaults.onMove = easyuiPanelOnMove;
}; $.fn.toolbar.defaults.valign = null; //时间格式化
Date.prototype.format = function (format) {
var o = {
"M+":this.getMonth() + 1, //month
"d+":this.getDate(), //day
"h+":this.getHours(), //hour
"m+":this.getMinutes(), //minute
"s+":this.getSeconds(), //second
"q+":Math.floor((this.getMonth() + 3) / 3), //quarter
"S":this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] :
("00" + o[k]).substr(("" + o[k]).length));
return format;
} // easyui datebox 自定义校验
var datePattern=/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/,opText={">":"大于","<":"小于",">=":"大于等于","<=":"小于等于"};
$.extend($.fn.validatebox.defaults.rules, {
compareDate_resetTg:{
validator:function (value, param) {
if (value && param.length > 0) {
if (datePattern.test(value)) {
var el = $(param[0]), v = el.val() || el.getWidget().getValue();
if (v) {
if (datePattern.test(v)) {
// var op = param.length > 1 ? param[1] : ">", d1 = new Date(value), d2 = new Date(v);
var op=param.length>1?param[1]:">",d1 = new Date(value.replace(/[-/]/g, "/")),d2 = new Date(v.replace(/[-/]/g, "/"));
if (eval(d1.getTime() + op + d2.getTime())){
return true;
} else {
param[0] = "无效,应" + opText[op] + v;
$(param[2]).datebox("reset");
return false;
}
}
}
} else {
param[0] = "无效";
return false;
}
}
return true;
},
message: '输入日期{0}'
}
/* ,
ruleAppealOpinion:{
validator:function (value, param) {
if(param.length > 0){
var count=$("#"+param[0]).getWidget()?$("#"+param[0]).getWidget().getValue():$("#"+param[0]).val();
var type=$("#"+param[1]).getWidget()?$("#"+param[1]).getWidget().getValue():$("#"+param[1]).val();
if(count>0){
if(!value&&param[2]==3){
return false;
}
}
else{
if(type==1){
if(!value&&(param[2]==1||param[2]==0)){
return false;
}
}
else if(type==2){
if(!value&&(param[2]==2||param[2]==0)){
return false;
}
}
else{
if(!value&&param[2]==3){
return false;
}
}
}
}
return true;
},
message: '不能为空!'
}*/
})
})(jQuery); //表单数据转化json
function form2Json() {
var o = {};
var a = $("form input").serializeArray();
$.each(a, function () {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
} function getFileBatchNo(){
return loginAccount.accountId + "_" + new Date().getTime();
} function isLeaf(node) {
return node.state == undefined;
} function dowloadFile(downLoadFile) {
var fileNames = ['GoogleChromeframeStandaloneEnterprise.msi','flashplayer11-7_install_win_ax.exe'];
var msg = ["系统需要ie8及以上版本,如果您的浏览器版本过低!为了提供更好的体验,请点击【确定】下载安装浏览器插件,并重启浏览器",
"你确定下载flash控件?"];
var r = window.confirm(msg[downLoadFile]);
if (r) {
location.href = ctx + "/"+fileNames[downLoadFile];
}
} function resetDgFooterStyle() {
$('.datagrid-footer-inner').css('background', '#88CDEF');
} /**
* 控制两个日期不能只填一个
* @param targetFr
* @param targetTo
* @return {Boolean}
*/
var validate = function(targetFr,targetTo){
var vFr = $(targetFr).getWidget().getValue()||"";
var vTo = $(targetTo).getWidget().getValue()||"";
var allNotNull = vFr&&vTo;
var allNull = vFr==""&&vTo=="";
if(allNotNull||allNull){
return true;
}
$.alert("请填写完整的日期区间");
return false;
}

Js:消息弹出框、获取时间区间、时间格式、easyui datebox 自定义校验、表单数据转化json、控制两个日期不能只填一个的更多相关文章

  1. 移动web:Tips消息弹出框

    在web开发中经常会用到像alert这样的弹出消息,每个浏览器自带的消息弹出框都不相同.为了统一外观,实现自定义的功能,动手写一个弹出框插件. 对弹出框的实现要求如下: 1. 仿照IOS系统弹出外观 ...

  2. MessageBox页面消息弹出框类

    MessageBox页面消息弹出框类: public class MessageBox { /// <summary> /// 自定义弹出窗口内容,不跳转 /// </summary ...

  3. 【原创】贡献一个JS的弹出框代码...

    一.前言 最近在做一个项目,自己感觉系统自带的alert()方法的弹出框实在是不堪入目,所以在网上找了一些资料,然后自己加工了一下,做出了自己的一个js弹出框,在这里贡献出来,希望对你有帮助. 二.开 ...

  4. Easyui-交互式消息弹出框

    由于项目在优化的时候需要用到弹出框,按自己的想法是傻傻的用一些alert直接弹出得了,但是这样用户体验度不是特别好,影响界面美观,所以自己还是用了封装好的easyui给的消息框,怎么用呢,这个里面很有 ...

  5. js 常见弹出框学习

    模拟系统的弹出框 系统自带的弹出框 总结 链接  http://blog.csdn.net/anhuidelinger/article/details/17024491 参考这个网站学习模态框的动态弹 ...

  6. WPF实战之一 桌面消息框(右下角消息弹出框)

    此版本是根据别人的项目改造的,记录下笔记 原文:https://blog.csdn.net/catshitone/article/details/75089069 一.即时弹出 1.创建弹出框 新建一 ...

  7. jsp + js + 前端弹出框

    在项目中,前端页面我们时常需要各种各样的弹出框: 1.alert对话框:显示含有给定消息的"JavaScript Alert"对话框 代码: var a = "Hello ...

  8. js登录弹出框插件

    第一步:页面引入css:<link rel="stylesheet" type="text/css"" href="common/cs ...

  9. js swal()弹出框

    做前端开发的时候时常会遇到修改成功.新增成功这类弹出框,用alert的话未免有点太low了,而swal()是一个简单又实用的弹出框方法 alert 弹出框样式如下: swal() 弹出框样式如下: 代 ...

随机推荐

  1. 【解题报告】SRM-08

    A Description 给一个 01 串设为其 S,询问是否存在只出现两次的 01 串 T. 这里的出现定义为存在一串下标 ,满足  且 . Input 一行,一个 01 串 Output 一行, ...

  2. swift textView内容显示不全

    背景: 意见反馈页面有一行提示文字,包含客服QQ,要求qq可点击.为了实现点击功能,这里的文本没有使用UILabel,而是采用了UITextView,使用textView的链接功能. 问题: 设置te ...

  3. pyqt5-定时器

    定时器的操作方法有两种: 方法一:利用每个对象包含的timerEvent函数 方法二:利用定时器模块    需要  from PyQt5.QtCore import QTimer 方法一:利用每个对象 ...

  4. npm 切换源 nrm

    版权声明:欢迎转载,请附加转载来源:一路博客(http://www.16boke.com) 转载 http://blog.csdn.net/wyc_cs/article/details/5155925 ...

  5. [Ynoi2016]这是我自己的发明 莫队

    传送门:here 很棒的莫队题啊..... 题意: 有一棵$ n$个点的树,树上每个点有点权,有$ m$次询问: 操作1:给定两个点$ x,y$,求二元组$ (a,b)$的数量,要求$ a$在$ x$ ...

  6. 帮助类-AD域操作

    private static void GetAllUsersInAD() { DirectorySearcher searcher = new DirectorySearcher(); search ...

  7. .Net core 使用特性Attribute验证Session登陆状态

    1.新建一个.net core mvc项目 2.在Models文件夹下面添加一个类MyAttribute,专门用来保存我们定义的特性 在这里我只写了CheckLoginAttribute用来验证登陆情 ...

  8. Android逆向基础----APK文件结构

    参考这个博客 http://www.cnblogs.com/wangtianxj/archive/2010/06/13/1757639.html http://blog.csdn.net/bupt07 ...

  9. 高手进阶,终极内存技术指南——完整/进阶版 II (转)【转】

    转自:https://blog.csdn.net/lightseed/article/details/4630170 SDRAM芯片的预充电与刷新操作 预充电 由于SDRAM的寻址具体独占性,所以在进 ...

  10. 初识python异步模块Trio

    Trio翻译过来是三重奏的意思,它提供了更方便异步编程,是asyncio的更高级的封装. 它试图简化复杂的asyncio模块.使用起来比asyncio和Twisted要简单的同时,拥有其同样强大功能. ...