1。无对话框关闭窗口
- window.opener=null
- window.open("","_self")
- window.close();
window.opener=null
window.open("","_self")
window.close();
2。每次都刷新页面,防止showModalDialog只取缓存数据,
- //网页不保存在缓存中,每次访问都刷新页面。
- <meta http-equiv="cache-control" content="no-cache, must-revalidate">
//网页不保存在缓存中,每次访问都刷新页面。 <meta http-equiv="cache-control" content="no-cache, must-revalidate">
3. 日期操作
- var now = new Date(); //当前日期
- var nowDayOfWeek = now.getDay(); //今天本周的第几天
- var nowDay = now.getDate(); //当前日
- var nowMonth = now.getMonth(); //当前月
- var nowYear = now.getYear(); //当前年
- nowYear += (nowYear < 2000) ? 1900 : 0; //
- //格式化日期:yyyy-MM-dd
- function formatDate(date) {
- var myyear = date.getFullYear();
- var mymonth = date.getMonth()+1;
- var myweekday = date.getDate();
- if(mymonth < 10){
- mymonth = "0" + mymonth;
- }
- if(myweekday < 10){
- myweekday = "0" + myweekday;
- }
- return (myyear+"-"+mymonth + "-" + myweekday);
- }
- //获得某月的天数
- function getMonthDays(myMonth){
- var monthStartDate = new Date(nowYear, myMonth, 1);
- var monthEndDate = new Date(nowYear, myMonth + 1, 1);
- var days = (monthEndDate - monthStartDate)/(1000 * 60 * 60 * 24);
- return days;
- }
- //获得本季度的开始月份
- function getQuarterStartMonth(){
- var quarterStartMonth = 0;
- if(nowMonth<3){
- quarterStartMonth = 0;
- }
- if(2<nowMonth && nowMonth<6){
- quarterStartMonth = 3;
- }
- if(5<nowMonth && nowMonth<9){
- quarterStartMonth = 6;
- }
- if(nowMonth>8){
- quarterStartMonth = 9;
- }
- return quarterStartMonth;
- }
- //获得本周的开始日期
- function getWeekStartDate() {
- var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
- return formatDate(weekStartDate);
- }
- //获得本周的结束日期
- function getWeekEndDate() {
- var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
- return formatDate(weekEndDate);
- }
- //获得本月的开始日期
- function getMonthStartDate(){
- var monthStartDate = new Date(nowYear, nowMonth, 1);
- return formatDate(monthStartDate);
- }
- //获得本月的结束日期
- function getMonthEndDate(){
- var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
- return formatDate(monthEndDate);
- }
- //获得本季度的开始日期
- function getQuarterStartDate(){
- var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
- return formatDate(quarterStartDate);
- }
- //或的本季度的结束日期
- function getQuarterEndDate(){
- var quarterEndMonth = getQuarterStartMonth() + 2;
- var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
- return formatDate(quarterStartDate);
- }
var now = new Date(); //当前日期
var nowDayOfWeek = now.getDay(); //今天本周的第几天
var nowDay = now.getDate(); //当前日
var nowMonth = now.getMonth(); //当前月
var nowYear = now.getYear(); //当前年
nowYear += (nowYear < 2000) ? 1900 : 0; //
//格式化日期:yyyy-MM-dd
function formatDate(date) {
var myyear = date.getFullYear();
var mymonth = date.getMonth()+1;
var myweekday = date.getDate();
if(mymonth < 10){
mymonth = "0" + mymonth;
}
if(myweekday < 10){
myweekday = "0" + myweekday;
}
return (myyear+"-"+mymonth + "-" + myweekday);
}
//获得某月的天数
function getMonthDays(myMonth){
var monthStartDate = new Date(nowYear, myMonth, 1);
var monthEndDate = new Date(nowYear, myMonth + 1, 1);
var days = (monthEndDate - monthStartDate)/(1000 * 60 * 60 * 24);
return days;
}
//获得本季度的开始月份
function getQuarterStartMonth(){
var quarterStartMonth = 0;
if(nowMonth<3){
quarterStartMonth = 0;
}
if(2<nowMonth && nowMonth<6){
quarterStartMonth = 3;
}
if(5<nowMonth && nowMonth<9){
quarterStartMonth = 6;
}
if(nowMonth>8){
quarterStartMonth = 9;
}
return quarterStartMonth;
}
//获得本周的开始日期
function getWeekStartDate() {
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
return formatDate(weekStartDate);
}
//获得本周的结束日期
function getWeekEndDate() {
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
return formatDate(weekEndDate);
}
//获得本月的开始日期
function getMonthStartDate(){
var monthStartDate = new Date(nowYear, nowMonth, 1);
return formatDate(monthStartDate);
}
//获得本月的结束日期
function getMonthEndDate(){
var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
return formatDate(monthEndDate);
}
//获得本季度的开始日期
function getQuarterStartDate(){
var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
return formatDate(quarterStartDate);
}
//或的本季度的结束日期
function getQuarterEndDate(){
var quarterEndMonth = getQuarterStartMonth() + 2;
var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
return formatDate(quarterStartDate);
}
4. 去掉字符串空格
- function String.prototype.trim(){
- return this.replace(/(^(\s|\u3000)*)|((\s|\u3000)*$)/g, '');
- }
function String.prototype.trim(){
return this.replace(/(^(\s|\u3000)*)|((\s|\u3000)*$)/g, '');
}
5.禁止反复提交
- //首先在form中加入
- onsubmit="return checkSubmit();"
- //例如:
- <html:form enctype="multipart/form-data" action="<%=url %>"
- method="post" onsubmit="return checkSubmit();">
- //再如以下代码:
- var checkSubmitFlg = false;
- function checkSubmit() {
- if (checkSubmitFlg == true) {
- return false;
- }
- checkSubmitFlg = true;
- return true;
- }
- document.ondblclick = function docondblclick() {
- window.event.returnValue = false;
- }
- document.onclick = function doconclick() {
- if (checkSubmitFlg) {
- window.event.returnValue = false;
- }
- }
//首先在form中加入
onsubmit="return checkSubmit();"
//例如:
<html:form enctype="multipart/form-data" action="<%=url %>"
method="post" onsubmit="return checkSubmit();">
//再如以下代码:
var checkSubmitFlg = false;
function checkSubmit() {
if (checkSubmitFlg == true) {
return false;
}
checkSubmitFlg = true;
return true;
}
document.ondblclick = function docondblclick() {
window.event.returnValue = false;
}
document.onclick = function doconclick() {
if (checkSubmitFlg) {
window.event.returnValue = false;
}
}
6.失去焦点调用方法
- var fstationname = document.getElementById("fsApprovebookDto.fstationname");
- fstationname.onblur=getStationnameCount;
- //getStationnameCount function名称
var fstationname = document.getElementById("fsApprovebookDto.fstationname");
fstationname.onblur=getStationnameCount;
//getStationnameCount function名称
7.iframe自适应窗体大小
- function sizeOfwindow(){
- var report = document.getElementById("report");//report为iframe的id
- report.height= document.body.offsetHeight - 130;
- report.width = document.body.offsetWidth - 60;
- }
- window.onresize = function(){
- sizeOfwindow();
- }
function sizeOfwindow(){
var report = document.getElementById("report");//report为iframe的id
report.height= document.body.offsetHeight - 130;
report.width = document.body.offsetWidth - 60;
}
window.onresize = function(){
sizeOfwindow();
}
8.button置灰:
- document.getElementById("submits").disabled="true";//submits is button's id
document.getElementById("submits").disabled="true";//submits is button's id
9.Div隐藏
- var outstore = document.getElementById("outstore");
- outstore.style.display = "block";
var outstore = document.getElementById("outstore");
outstore.style.display = "block";
本文介绍了一系列实用的JavaScript技巧,包括关闭窗口、防止缓存、日期操作、去除字符串空格、禁止反复提交表单、元素失焦处理、iframe自适应、按钮状态控制及元素显示隐藏等。

148

被折叠的 条评论
为什么被折叠?



