码迷,mamicode.com
首页 > 编程语言 > 详细

蓝凌表单的表体调用Javascript

时间:2016-11-24 19:20:47      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:字典   取数   加载   elements   ring   无法   element   int   表头   

应用场景:像请假类表单会在从表输入开始时间、结束时间等字段

需求1:客户希望根据开始、结束时间自动计算小时数

解决方法:

1、主表单增加一行,设三个字段[开始时间合计]、[结束时间合计]、[开始结束时间计算结果]

在[开始结束时间计算结果]触发脚本calTime()。

--计算时间段函数:calTime()
--代码如下:
var B=0;
var E=0;
var RowNum=document.all.edittable_OverTimeApplyDetail_tData.rows.length;
for(var i=0;i<RowNum;i++)
{
 if(document.all.edittable_OverTimeApplyDetail_tData.rows(i).display==‘none‘)
 {continue;}
var j1="BeginTime_"+(i+1);
var obj1=document.getElementById(j1);
var j2="EndTime_"+(i+1);
var obj2=document.getElementById(j2);
var j3="Amount_"+(i+1);
var obj3=document.getElementById(j3);


if(obj1.value==null || obj1.value==‘‘ || obj2.value==null || obj2.value==‘‘){break;}
else
{
//取开始时间
if(((obj1.value).substring(3,5))==‘30‘)
{if(parseInt((obj1.value).substring(0,1))==0){B=parseInt((obj1.value).substring(1,2))+0.5;}
 else{B=parseInt((obj1.value).substring(0,2))+0.5;}
}
else
{if(parseInt((obj1.value).substring(0,1))==0){B=parseInt((obj1.value).substring(1,2));}
 else{B=parseInt((obj1.value).substring(0,2));}
}
//取结束时间
if(((obj2.value).substring(3,5))==‘30‘)
{if(parseInt((obj2.value).substring(0,1))==0){E=parseInt((obj2.value).substring(1,2))+0.5;}
 else{E=parseInt((obj2.value).substring(0,2))+0.5;}
}
else
{if(parseInt((obj2.value).substring(0,1))==0){E=parseInt((obj2.value).substring(1,2));}
 else{E=parseInt((obj2.value).substring(0,2));}
}


if((E-B)>0){document.getElementById(j3).value=E-B;}
else {alert(‘结束时间不能小于开始时间!‘);}

}

}

 

2.假设新增的这行是第3行,隐藏该行

 

var divObj=document.getElementById(‘divMainForm‘);
if(divObj)
 {var tr=divObj.getElementsByTagName(‘tr‘);
  if(tr)
   {
    tr[2].style.display=‘none‘;
   }
 }

 

其他代码:

----检查从表中输入的时间(取数据字典)值是合法格式

var RowNum=document.all.edittable_请假明细_tData.rows.length;
for(var i=0;i<RowNum;i++)
{
 if(document.all.edittable_请假明细_tData.rows(i).display==‘none‘)
 {continue;}
var j1="开始时间_"+(i+1);
var obj1=document.getElementById(j1);
var j2="截止时间_"+(i+1);
var obj2=document.getElementById(j2);

if(obj1.value==null || obj1.value==‘‘ || obj2.value==null || obj2.value==‘‘){break;}
else
{
 //取开始时间
 if(obj1.value.substring(2,3)!=":"|| obj1.value.length!=5 )
 {alert("您输入的时间格式不符,请重新输入!");
 obj1.value="";
 }
 //取结束时间
 if(obj2.value.substring(2,3)!=":"|| obj2.value.length!=5 )
 {alert("您输入的时间格式不符,请重新输入!");
 obj2.value="";
 }

}

}

 

总结:由于表单先加载表头、this_formscript()函数,最后才是表体。故无法在this_formscript控制表体。

 

蓝凌表单的表体调用Javascript

标签:字典   取数   加载   elements   ring   无法   element   int   表头   

原文地址:http://www.cnblogs.com/star-studio/p/6098709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!