http://community.csdn.net/Expert/topic/5618/5618361.xml?temp=2.422732E-02
在第一行文本框输入7月31日,按tab键,底下的日期就会有重复的。
在第一行文本框输入7月31日,按tab键,底下的日期就会有重复的。
解决方案 »
- 关于Flexigrid中双击事件的BUG
- easyui控件 事件
- JS设置高度的时候,宽度会一起变?
- 快失业了, 散分庆祝一下...
- 高分求一正则表达式
- 请教创建和删除一个div的一个问题
- 怎么把焦点设置到到表格当前行的下一行的第一个cells
- 我想自定义快捷键ALT+S,但是在maxthon中,是“保存HTML...”,如何屏蔽?
- 请教:不知该怎么说,进来看吧
- 刚进入实习,做的是JS代码编写,因为之前理论的学习过,碰到个问题,是调用接口的,哪里有问题,小弟只想让大虾们详细分析下代码,感激不尽
- 发一小段代码,创建<div><iframe></div>用的.
- JAVASCRIPT获取上传图片体积和尺寸的问题(所有的分)
var f;function init(){
f = document.form1;
var dt = new Date();
var s = "";
var m = dt.getMonth()+1;
var y = dt.getFullYear();
var d = dt.getDate();
var lastDay;
lastDay = getLastDay(m,y);
f.m0.value = m;
f.y0.value = y;
f.d0.value = d;load(0);
getSum();
f.m0.focus();
}
function load(n){
var mm, obj;
obj = eval("f.m"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var m = parseInt(obj.value);
obj = eval("f.y"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var y = parseInt(obj.value);
obj = eval("f.d"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var d = parseInt(obj.value);
var dt;
var lastDay;
lastDay = getLastDay(m,y); for(var i=n+1;i<10;i++){
mm = m + i-n;
var dd;
dt = new Date(y,mm-1,d);
if(dt.getMonth()!=(mm-1) || dt.getFullYear()!=y) dd = getLastDay(mm,y);
else dd = d;
dt = new Date(y,mm-1,dd);
var mmm = dt.getMonth()+1;
var yy = dt.getFullYear();
obj = eval("f.m"+i);
obj.value = mmm;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.d"+i);
obj.value = dd;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.y"+i);
obj.value = yy;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.s"+i);
obj.value = 0;
obj.onblur=getSum;
}
}function getLastDay(pm,py){
pm = parseInt(pm);
py = parseInt(py);
var dt2 = new Date(py,pm,1-1);
return dt2.getDate();
}function getSum(){
var sum = 0;
for(var i=0;i<10;i++){
obj = eval("f.s"+i);
if(obj.value=="" || isNaN(obj.value)) obj.value = 0;
sum += parseFloat(obj.value);
}
f.sum.value = sum;
}
function dofocus(){
var obj = event.srcElement;
window.val = obj.value;
}
function check(){
var obj = event.srcElement;
if(isNaN(obj.value)){alert("该字段不是数字!");obj.focus();return false;}
var index = obj.index;
var om = eval("f.m" + index);
var oy = eval("f.y" + index);
var od = eval("f.d" + index);
var cm = parseInt(om.value)-1;
var cd = parseInt(od.value);
var cy = parseInt(oy.value);
var cdt = new Date(cy,cm, cd);
if(cdt.getFullYear()!= cy || cdt.getMonth() != cm || cdt.getDate() != cd){
alert("日期无效!");obj.focus();return false;
}
for(var i=0;i<index;i++){
var onm = eval("f.m" + i);
var ony = eval("f.y" + i);
var ond = eval("f.d" + i);
var nm = parseInt(onm.value)-1;
var ny = parseInt(ony.value);
var nd = parseInt(ond.value);
var ndt = new Date(ny,nm, nd);
if(ndt.getTime()>cdt.getTime()){
alert("日期小于前面的日期!");obj.focus();return false;
}
}
/*
for(var i=index+1;i<10;i++){
var onm = eval("f.m" + i);
var ony = eval("f.y" + i);
var ond = eval("f.d" + i);
if(onm.value != "" && ony.value != "" && ond.value!= ""){
var nm = parseInt(onm.value)-1;
var ny = parseInt(ony.value);
var nd = parseInt(ond.value);
var ndt = new Date(ny,nm, nd);
if(ndt.getTime()<cdt.getTime()){
alert("日期大于后面的日期!");obj.focus();return false;
}
}
}
*/
if(window.val != obj.value) load(index);
}
function myclick(dom, path){
var s = dom + path;
location.href=s;
}
</script><body onload="init();">
<form name="form1">
<table>
<tr>
<td><input type='text' name='m0' tabIndex='1'/>月</td>
<td><input type='text' name='d0' tabIndex='2'/>日</td>
<td><input type='text' name='y0' tabIndex='3'/>年</td>
<td><input type='text' name='s0' tabIndex='4'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m1' tabIndex='5'/>月</td>
<td><input type='text' name='d1' tabIndex='6'/>日</td>
<td><input type='text' name='y1' tabIndex='7'/>年</td>
<td><input type='text' name='s1' tabIndex='8'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m2' tabIndex='9'/>月</td>
<td><input type='text' name='d2' tabIndex='10'/>日</td>
<td><input type='text' name='y2' tabIndex='11'/>年</td>
<td><input type='text' name='s2' tabIndex='12'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m3' tabIndex='13'/>月</td>
<td><input type='text' name='d3' tabIndex='14'/>日</td>
<td><input type='text' name='y3' tabIndex='15'/>年</td>
<td><input type='text' name='s3' tabIndex='16'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m4' tabIndex='17'/>月</td>
<td><input type='text' name='d4' tabIndex='18'/>日</td>
<td><input type='text' name='y4' tabIndex='19'/>年</td>
<td><input type='text' name='s4' tabIndex='20'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m5' tabIndex='21'/>月</td>
<td><input type='text' name='d5' tabIndex='22'/>日</td>
<td><input type='text' name='y5' tabIndex='23'/>年</td>
<td><input type='text' name='s5' tabIndex='24'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m6' tabIndex='25'/>月</td>
<td><input type='text' name='d6' tabIndex='26'/>日</td>
<td><input type='text' name='y6' tabIndex='27'/>年</td>
<td><input type='text' name='s6' tabIndex='28'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m7' tabIndex='29'/>月</td>
<td><input type='text' name='d7' tabIndex='30'/>日</td>
<td><input type='text' name='y7' tabIndex='31'/>年</td>
<td><input type='text' name='s7' tabIndex='32'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m8' tabIndex='33'/>月</td>
<td><input type='text' name='d8' tabIndex='34'/>日</td>
<td><input type='text' name='y8' tabIndex='35'/>年</td>
<td><input type='text' name='s8' tabIndex='36'/>金额</td>
</tr>
<tr>
<td><input type='text' name='m9' tabIndex='37'/>月</td>
<td><input type='text' name='d9' tabIndex='38'/>日</td>
<td><input type='text' name='y9' tabIndex='39'/>年</td>
<td><input type='text' name='s9' tabIndex='40'/>金额</td>
</tr>
<tr>
<td colspan='3'></td>
<td><input type='text' name='sum' tabIndex='41'/>总金额</td>
</tr></table>
</form>
</body>
var f;
var total = 10;function init(){
f = document.form1;
var dt = new Date();
var s = "";
var m = dt.getMonth()+1;
var y = dt.getFullYear();
var d = dt.getDate();
var lastDay;
lastDay = getLastDay(m,y);
f.m0.value = m;
f.y0.value = y;
f.d0.value = d;load(0);
getSum();
f.m0.focus();
}
function load(n){
var mm, obj;
obj = eval("f.m"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var m = parseInt(obj.value);
obj = eval("f.y"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var y = parseInt(obj.value);
obj = eval("f.d"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var d = parseInt(obj.value);
var dt;
var lastDay;
lastDay = getLastDay(m,y); for(var i=n+1;i<total;i++){
mm = m + i-n;
var dd;
dt = new Date(y,mm-1,d);
if(d == dt.getDate()) dd = d;
else dd = getLastDay(mm,y);
dt = new Date(y,mm-1,dd);
var mmm = dt.getMonth()+1;
var yy = dt.getFullYear();
obj = eval("f.m"+i);
obj.value = mmm;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.d"+i);
obj.value = dd;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.y"+i);
obj.value = yy;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.s"+i);
obj.value = 0;
obj.onblur=getSum;
}
}function getLastDay(pm,py){
pm = parseInt(pm);
py = parseInt(py);
var dt2 = new Date(py,pm,1-1);
return dt2.getDate();
}function getSum(){
var sum = 0;
for(var i=0;i<total;i++){
obj = eval("f.s"+i);
if(obj.value=="" || isNaN(obj.value)) obj.value = 0;
sum += parseFloat(obj.value);
}
f.sum.value = sum;
}
function dofocus(){
var obj = event.srcElement;
window.val = obj.value;
}
function check(){
var obj = event.srcElement;
if(isNaN(obj.value)){alert("该字段不是数字!");obj.focus();return false;}
var index = obj.index;
var om = eval("f.m" + index);
var oy = eval("f.y" + index);
var od = eval("f.d" + index);
var cm = parseInt(om.value)-1;
var cd = parseInt(od.value);
var cy = parseInt(oy.value);
var cdt = new Date(cy,cm, cd);
if(cdt.getFullYear()!= cy || cdt.getMonth() != cm || cdt.getDate() != cd){
showmsg(index,"* 日期无效!");obj.focus();return false;
}
for(var i=0;i<index;i++){
var onm = eval("f.m" + i);
var ony = eval("f.y" + i);
var ond = eval("f.d" + i);
var nm = parseInt(onm.value)-1;
var ny = parseInt(ony.value);
var nd = parseInt(ond.value);
var ndt = new Date(ny,nm, nd);
if(ndt.getTime()>cdt.getTime()){
showmsg(index,"* 日期小于前面的日期!");obj.focus();return false;
}
}
/*
for(var i=index+1;i<total;i++){
var onm = eval("f.m" + i);
var ony = eval("f.y" + i);
var ond = eval("f.d" + i);
if(onm.value != "" && ony.value != "" && ond.value!= ""){
var nm = parseInt(onm.value)-1;
var ny = parseInt(ony.value);
var nd = parseInt(ond.value);
var ndt = new Date(ny,nm, nd);
if(ndt.getTime()<cdt.getTime()){
alert("日期大于后面的日期!");obj.focus();return false;
}
}
}
*/
if(window.val != obj.value) load(index);
showmsg(index,"");
}
function showmsg(n,s){
var obj = document.getElementById("p"+n);
if(obj) obj.innerText = s;
}
</script><body onload="init();">
<form name="form1">
<table>
<tr>
<td><input type='text' name='m0' tabIndex='1'/>月</td>
<td><input type='text' name='d0' tabIndex='2'/>日</td>
<td><input type='text' name='y0' tabIndex='3'/>年</td>
<td><input type='text' name='s0' tabIndex='4'/>金额</td>
<td><span id="p0" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m1' tabIndex='5'/>月</td>
<td><input type='text' name='d1' tabIndex='6'/>日</td>
<td><input type='text' name='y1' tabIndex='7'/>年</td>
<td><input type='text' name='s1' tabIndex='8'/>金额</td>
<td><span id="p1" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m2' tabIndex='9'/>月</td>
<td><input type='text' name='d2' tabIndex='10'/>日</td>
<td><input type='text' name='y2' tabIndex='11'/>年</td>
<td><input type='text' name='s2' tabIndex='12'/>金额</td>
<td><span id="p2" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m3' tabIndex='13'/>月</td>
<td><input type='text' name='d3' tabIndex='14'/>日</td>
<td><input type='text' name='y3' tabIndex='15'/>年</td>
<td><input type='text' name='s3' tabIndex='16'/>金额</td>
<td><span id="p3" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m4' tabIndex='17'/>月</td>
<td><input type='text' name='d4' tabIndex='18'/>日</td>
<td><input type='text' name='y4' tabIndex='19'/>年</td>
<td><input type='text' name='s4' tabIndex='20'/>金额</td>
<td><span id="p4" style="font-size:14px;font-weight:bold;"></span></td>
</tr>
<tr>
<td><input type='text' name='m5' tabIndex='21'/>月</td>
<td><input type='text' name='d5' tabIndex='22'/>日</td>
<td><input type='text' name='y5' tabIndex='23'/>年</td>
<td><input type='text' name='s5' tabIndex='24'/>金额</td>
<td><span id="p5" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m6' tabIndex='25'/>月</td>
<td><input type='text' name='d6' tabIndex='26'/>日</td>
<td><input type='text' name='y6' tabIndex='27'/>年</td>
<td><input type='text' name='s6' tabIndex='28'/>金额</td>
<td><span id="p6" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m7' tabIndex='29'/>月</td>
<td><input type='text' name='d7' tabIndex='30'/>日</td>
<td><input type='text' name='y7' tabIndex='31'/>年</td>
<td><input type='text' name='s7' tabIndex='32'/>金额</td>
<td><span id="p7" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m8' tabIndex='33'/>月</td>
<td><input type='text' name='d8' tabIndex='34'/>日</td>
<td><input type='text' name='y8' tabIndex='35'/>年</td>
<td><input type='text' name='s8' tabIndex='36'/>金额</td>
<td><span id="p8" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m9' tabIndex='37'/>月</td>
<td><input type='text' name='d9' tabIndex='38'/>日</td>
<td><input type='text' name='y9' tabIndex='39'/>年</td>
<td><input type='text' name='s9' tabIndex='40'/>金额</td>
<td><span id="p9" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td colspan='3'></td>
<td><input type='text' name='sum' tabIndex='41'/>总金额</td>
</tr></table>
</form>
</body>
var f;
var total = 10;
var gotError = false;
function init(){
f = document.form1;
var dt = new Date();
var s = "";
var m = dt.getMonth()+1;
var y = dt.getFullYear();
var d = dt.getDate();
var lastDay;
lastDay = getLastDay(m,y);
f.m0.value = m;
f.y0.value = y;
f.d0.value = d;load(0);
getSum();
f.m0.focus();document.body.onkeydown=dokey;
}
function load(n){
var mm, obj;
obj = eval("f.m"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var m = parseInt(obj.value);
obj = eval("f.y"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var y = parseInt(obj.value);
obj = eval("f.d"+n);
obj.index = n;
obj.onblur=check;
obj.onfocus=dofocus;
var d = parseInt(obj.value);
var dt;
var lastDay;
lastDay = getLastDay(m,y); for(var i=n+1;i<total;i++){
mm = m + i-n;
var dd;
dt = new Date(y,mm-1,d);
if(d == dt.getDate()) dd = d;
else dd = getLastDay(mm,y);
dt = new Date(y,mm-1,dd);
var mmm = dt.getMonth()+1;
var yy = dt.getFullYear();
obj = eval("f.m"+i);
obj.value = mmm;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.d"+i);
obj.value = dd;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.y"+i);
obj.value = yy;
obj.index = i;
obj.onblur=check;
obj.onfocus=dofocus;
obj = eval("f.s"+i);
obj.value = 0;
obj.onblur=getSum;
}
}function getLastDay(pm,py){
pm = parseInt(pm);
py = parseInt(py);
var dt2 = new Date(py,pm,1-1);
return dt2.getDate();
}
function dokey(){
if(event.keyCode==9 && gotError){
if(window.cur) window.cur.blur();window.cur.select();
event.returnValue=false;return false;
}
}
function getSum(){
var sum = 0;
for(var i=0;i<total;i++){
obj = eval("f.s"+i);
if(obj.value=="" || isNaN(obj.value)) obj.value = 0;
sum += parseFloat(obj.value);
}
f.sum.value = sum;
}
function dofocus(){
var obj = event.srcElement;
window.val = obj.value;
window.cur = obj;
}
function check(){
var obj = event.srcElement;
var index = obj.index;
if(isNaN(obj.value)){
if(gotError) return false;
else showmsg("该字段不是数字!");return false;
}
var om = eval("f.m" + index);
var oy = eval("f.y" + index);
var od = eval("f.d" + index);
var cm = parseInt(om.value)-1;
var cd = parseInt(od.value);
var cy = parseInt(oy.value);
var cdt = new Date(cy,cm, cd);
if(cdt.getFullYear()!= cy || cdt.getMonth() != cm || cdt.getDate() != cd){
if(gotError) return false;
else showmsg(index,"* 日期无效!");obj.select();return false;
}
for(var i=0;i<index;i++){
var onm = eval("f.m" + i);
var ony = eval("f.y" + i);
var ond = eval("f.d" + i);
var nm = parseInt(onm.value)-1;
var ny = parseInt(ony.value);
var nd = parseInt(ond.value);
var ndt = new Date(ny,nm, nd);
if(ndt.getTime()>cdt.getTime()){
if(gotError) return false;
else showmsg(index,"* 日期小于前面的日期!");return false;
}
}
/*
for(var i=index+1;i<total;i++){
var onm = eval("f.m" + i);
var ony = eval("f.y" + i);
var ond = eval("f.d" + i);
if(onm.value != "" && ony.value != "" && ond.value!= ""){
var nm = parseInt(onm.value)-1;
var ny = parseInt(ony.value);
var nd = parseInt(ond.value);
var ndt = new Date(ny,nm, nd);
if(ndt.getTime()<cdt.getTime()){
alert("日期大于后面的日期!");return false;
}
}
}
*/
if(window.val != obj.value) load(index);
showmsg(index,"");
}
function showmsg(n,s){
if(s!="") gotError =true;
else gotError =false;
var obj = document.getElementById("p"+n);
if(obj) obj.innerText = s;
}
</script><body onload="init();">
<form name="form1">
<table>
<tr>
<td><input type='text' name='m0' tabIndex='1'/>月</td>
<td><input type='text' name='d0' tabIndex='2'/>日</td>
<td><input type='text' name='y0' tabIndex='3'/>年</td>
<td><input type='text' name='s0' tabIndex='4'/>金额</td>
<td><span id="p0" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m1' tabIndex='5'/>月</td>
<td><input type='text' name='d1' tabIndex='6'/>日</td>
<td><input type='text' name='y1' tabIndex='7'/>年</td>
<td><input type='text' name='s1' tabIndex='8'/>金额</td>
<td><span id="p1" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m2' tabIndex='9'/>月</td>
<td><input type='text' name='d2' tabIndex='10'/>日</td>
<td><input type='text' name='y2' tabIndex='11'/>年</td>
<td><input type='text' name='s2' tabIndex='12'/>金额</td>
<td><span id="p2" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m3' tabIndex='13'/>月</td>
<td><input type='text' name='d3' tabIndex='14'/>日</td>
<td><input type='text' name='y3' tabIndex='15'/>年</td>
<td><input type='text' name='s3' tabIndex='16'/>金额</td>
<td><span id="p3" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m4' tabIndex='17'/>月</td>
<td><input type='text' name='d4' tabIndex='18'/>日</td>
<td><input type='text' name='y4' tabIndex='19'/>年</td>
<td><input type='text' name='s4' tabIndex='20'/>金额</td>
<td><span id="p4" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m5' tabIndex='21'/>月</td>
<td><input type='text' name='d5' tabIndex='22'/>日</td>
<td><input type='text' name='y5' tabIndex='23'/>年</td>
<td><input type='text' name='s5' tabIndex='24'/>金额</td>
<td><span id="p5" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m6' tabIndex='25'/>月</td>
<td><input type='text' name='d6' tabIndex='26'/>日</td>
<td><input type='text' name='y6' tabIndex='27'/>年</td>
<td><input type='text' name='s6' tabIndex='28'/>金额</td>
<td><span id="p6" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m7' tabIndex='29'/>月</td>
<td><input type='text' name='d7' tabIndex='30'/>日</td>
<td><input type='text' name='y7' tabIndex='31'/>年</td>
<td><input type='text' name='s7' tabIndex='32'/>金额</td>
<td><span id="p7" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m8' tabIndex='33'/>月</td>
<td><input type='text' name='d8' tabIndex='34'/>日</td>
<td><input type='text' name='y8' tabIndex='35'/>年</td>
<td><input type='text' name='s8' tabIndex='36'/>金额</td>
<td><span id="p8" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td><input type='text' name='m9' tabIndex='37'/>月</td>
<td><input type='text' name='d9' tabIndex='38'/>日</td>
<td><input type='text' name='y9' tabIndex='39'/>年</td>
<td><input type='text' name='s9' tabIndex='40'/>金额</td>
<td><span id="p9" style="font-size:14px;font-weight:bold;color:#FF0000;"></span></td>
</tr>
<tr>
<td colspan='3'></td>
<td><input type='text' name='sum' tabIndex='41'/>总金额</td>
</tr></table>
</form>
</body>