懶惰整理 改天再整理!
JS事件處理
事件處理者 |
事件發生 |
onBlur |
使用者離開某一欄 |
onChange |
使用者改變某一欄的內容 |
onClick |
使用者按下某個按鈕 |
onFocus |
使用者的輸入焦點進入某一欄 |
onLoad |
某一頁完全載入 |
onMouseOver |
滑鼠游標在某個物件之上 |
onMouseOut |
滑鼠游標離開某個物件 |
onSelect |
使用者選擇某一欄的內容 |
onSubmit |
使用者確定送出某表單 |
onUnload |
正在顯示的一頁被改變 |
★紅字為常用
限定只能輸入數字:(可以輸入小數點)
<input type="text" name="time_sum" size=3 maxlength="3" value="" onkeyup="check(this.value);">
<script>
function check(ee){
if (isNaN(ee))
{alert("請輸入數字!");
this.Late_leave.time_sum.value="";}
//Late_leave.time_sum.路徑,將你的Form / inputBOX 的名稱輸入,讓他將輸入非法字元時能夠處理
}
</script>
JS日期判斷
<form .... onsubmit="return dateCheck(this.date.value)">
<script>
function dateCheck(str){//判斷日期格式
var re = new RegExp("^([0-9]{4})[./]{1}([0-9]{1,2})[./]{1}([0-9]{1,2})$");
var strDataValue;
var infoValidation = true;
if ((strDataValue = re.exec(str)) != null){
var i;
i = parseFloat(strDataValue[1]);
if (i <= 0 || i > 9999){ // 年
infoValidation = false;
}
i = parseFloat(strDataValue[2]);
if (i <= 0 || i > 12){ // 月
infoValidation = false;
}
i = parseFloat(strDataValue[3]);
if (i <= 0 || i > 31){ // 日
infoValidation = false;
}
}else{
infoValidation = false;
}
if (!infoValidation){
alert('請輸入 YYYY/MM/DD 日期格式');
location.reload();
}
return infoValidation;
}
</script>
JS日期相減
//--------by mark chou-------------
var D2=new Date(this.chk_1.s_time1.value.substring(0,10))
var D1=new Date(this.chk_1.e_time1.value.substring(0,10))
var Compare=Date.parse(D1.toString())-Date.parse(D2.toString()) //相差毫秒數
var ComDay=Compare/(1000*60*24*60) //相差天數
//--------by mark chou-------------
Date.prototype.dateDiff = function(interval,objDate){
var dtEnd = new Date(objDate);
if(isNaN(dtEnd)) return undefined;
switch (interval) {
case "s":return parseInt((dtEnd - this) / 1000);
case "n":return parseInt((dtEnd - this) / 60000);
case "h":return parseInt((dtEnd - this) / 3600000);
case "d":return parseInt((dtEnd - this) / 86400000);
case "w":return parseInt((dtEnd - this) / (86400000 * 7));
case "m":return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-this.getFullYear())*12) - (this.getMonth()+1);
case "y":return dtEnd.getFullYear() - this.getFullYear();
}
}
var sDT = new Date("2004/05/20 07:30:00");
var eDT = new Date("2005/05/20 08:32:02");
/*
document.writeln("秒差 : "+sDT.dateDiff("s",eDT)+"<br>");
document.writeln("分差 : "+sDT.dateDiff("n",eDT)+"<br>");
document.writeln("時差 : "+sDT.dateDiff("h",eDT)+"<br>");
document.writeln("日差 : "+sDT.dateDiff("d",eDT)+"<br>");
document.writeln("週差 : "+sDT.dateDiff("w",eDT)+"<br>");
document.writeln("月差 : "+sDT.dateDiff("m",eDT)+"<br>");
document.writeln("年差 : "+sDT.dateDiff("y",eDT)+"<br>");
*/