首页 > 代码库 > 蓝凌表单的表体调用Javascript
蓝凌表单的表体调用Javascript
应用场景:像请假类表单会在从表输入开始时间、结束时间等字段
需求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=http://www.mamicode.com/=null || obj1.value==‘‘ || obj2.value=http://www.mamicode.com/=null || obj2.value=http://www.mamicode.com/=‘‘){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=http://www.mamicode.com/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=http://www.mamicode.com/=null || obj1.value==‘‘ || obj2.value=http://www.mamicode.com/=null || obj2.value=http://www.mamicode.com/=‘‘){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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。