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

需求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的更多相关文章

  1. <form> 标签 // HTML 表单 // from 表单转换成json 格式

    <form> 标签   // HTML 表单    // from 表单转换成json 格式 form 表单,对开发人员来说是在熟悉不过的了,它是页面与web服务器交互时的重要信息来源 表 ...

  2. 统一修改表单参数(表单提交的空字符串统一转null)

    统一修改表单参数(表单提交的空字符串统一转null) 1.介绍: 我们业务中有时会遇到提交的表单中某个参数为空字符串,导致后台接受的为空字符串("")而不是我们理想中的null,会 ...

  3. JQuery ajax提交表单及表单验证

    JQuery ajax提交表单及表单验证 博客分类: jsp/html/javascript/ajax/development Kit 开源项目   注:经过验证,formValidator只适合一个 ...

  4. Bootstrap 表单和图片 (内联表单,表单合组,水平排列,复选框和单选框,下拉列表,校验状态,添加额外的图标,控制尺寸,图片)

    一.表单 基本格式 注:只有正确设置了输入框的 type 类型,才能被赋予正确的样式. 支持的输入框控件 包括:text.password.datetime.datetime-local.date.m ...

  5. JavaScript 客户端JavaScript之Document对象中的表单和表单元素

    Form对象 代表一个HTML表单(document可以有多个表单元素) 表单访问 document.form[document.forms.length-1] 访问表单元素 document.for ...

  6. bootstrap 基础表单 内联表单 横向表单

    bootstrap 基础表单 内联表单 横向表单 <!DOCTYPE html> <html> <head> <title></title> ...

  7. 第九课 表单及表单控件 html5学习4

    表单有由表单域.提示文本.表单3部分构成 一.表单控件 input 控件 1.<input />单标签2.input属性: 可以通过type属性变换形状 value默认值 name名称 c ...

  8. 8款最新CSS3表单 环形表单很酷

    当我们在网站上注册登录还是提交评论,都需要用到表单,今天我们来分享8款最新CSS3表单,有几个效果很酷很特别,有些也非常实用,一起来看看. 1.CSS3环形特色表单 转圈切换表单焦点 这款CSS3表单 ...

  9. MVC动态生成的表单:表单元素比较多 你就这样写

    MVC动态生成的表单:表单元素比较多 你就这样写: public ActionResult ShoudaanActionResult(FormCollection from,T_UserM user) ...

  10. IT兄弟连 HTML5教程 HTML5表单 H5表单提交综合实例

    这里我们创建一个填写个人基本信息的表单,使用了表单元素有<input>输入框.<datalist>选项列表.<textarea>文本框,通用的表单输入类型有text ...

随机推荐

  1. mysql 5.6.17 x64 安装

    下载地址 百度网盘地址:http://pan.baidu.com/share/link?shareid=1895747668&uk=3257050114&fid=234538452 官 ...

  2. atitit.条形码的原理与生成总结java Barcode4j barcode o5

    atitit.条形码的原理与生成总结java Barcode4j barcode o5 条形码类库使用报告Barcode4j, ZXing 1 使用成果图片 1 条形码标准code 128和code  ...

  3. ubuntu上安装mysql 编译安装

    为什么要折腾?首先说明的是ubuntu上安装mysql等软件是非常容易简单的,其简单的程度盖过windows上的安装,一句sudo apt-get install就可以搞定.如果想用最简便的方法安装m ...

  4. unity 读取excel表 生成asset资源文件

    做unity 项目也有一段时间了,从unity项目开发和学习中也遇到了很多坑,并且也从中学习到了很多曾经未接触的领域.项目中的很多功能模块,从今天开始把自己的思路和代码奉上给学渣们作为一份学习的资料. ...

  5. 设想 Docker 下部署 KVM

    设想 Docker 下部署 KVM 一.安装 $ yum -y install kvm # kvm base , must $ yum -y install libvirt -y # libvirtd ...

  6. JQ例子:旋转木马

    使用JQ现实旋转木马超级简单,它看起来很复杂,动画好像很难实现,但其实不然. 效果图: <!DOCTYPE html> <html lang="en"> & ...

  7. How to get blob data using javascript XmlHttpRequest by sync

    Tested: Firefox 33+ OK Chrome 38+ OK IE 6 -- IE 10 Failed Thanks to 阮一峰's blog: http://www.ruanyifen ...

  8. 【Python排序搜索基本算法】之深度优先搜索、广度优先搜索、拓扑排序、强联通&Kosaraju算法

    Graph Search and Connectivity Generic Graph Search Goals 1. find everything findable 2. don't explor ...

  9. Code Consultation

    Need help architecting or coding your application? You can get technical help with building applicat ...

  10. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...