######问题遇到的现象和发生背景
计算时间差,但是失去焦点事件不触发
问题相关代码,请勿粘贴截图
<tr>
<td class="awsui-ux-title" style="padding: 0px; white-space: normal;" colspan="3">
<table id="table_container" class="awsui-ux table-striped new-add-grid" style="padding: 0px;"><colgroup> <col class="awsui-ux-title" /><col style="width: 50%;" /> <col class="awsui-ux-title" /><col style="width: 50%;" /></colgroup>
<tbody>
<tr>
<td class="awsui-ux-title"><label class="aws-form-ux-label" for="MEETING_START_DATE">会议开始时间</label></td>
<td class="aws-form-ux-content" id="ks" onblur="time1()">[#MEETING_START_DATE]</td>
<td class="awsui-ux-title"><label class="aws-form-ux-label" for="MEETING_ENT_DATE">会议结束时间</label></td>
<td class="aws-form-ux-content" id="js" onblur="time1()">[#MEETING_ENT_DATE]</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="awsui-ux-title"><label class="aws-form-ux-label" for="MEETING_DURATION" id="hysc">会议时长</label></td>
<td class="aws-form-ux-content" id="sc">[#MEETING_DURATION]</td>
<td class="aws-form-ux-content"></td>
</tr>
<script id="formOnload">
function formOnload(){
if($("#userTaskDefId").val() == "obj_c99d772d56f0000172b816f04480fb50"){
$("#dyz1").hide();
$("#dyz").hide();
$("#hy").hide();
$("#pj").hide();
}
if($("#userTaskDefId").val() == "obj_c99d7734917000014221cf40cd9011de"){
$("#hy").hide();
$("#pj").hide();
}
if($("#userTaskDefId").val() == "obj_c99d77393fd00001a84710a01c206430"){
$("#pj").hide();
}
timeChange();
timeFn(dateBegin,dateEnd);
window.onload = function () {
function $(id) {
return document.getElementById(id)
}
$("ks").onblur = function fn() {
timeChange();
timeFn(dateBegin,dateEnd);
}
$("js").onblur = function fn() {
timeChange();
timeFn(dateBegin,dateEnd);
}
}
}
function timeChange(){
var ks ='2021-01-01 '+$("#MEETING_START_DATE").val();
var js ='2021-01-01 '+$("#MEETING_ENT_DATE").val();
var a = new Date(ks)
var b = new Date(js)
if($("#MEETING_START_DATE").val()!="" && $("#MEETING_ENT_DATE").val()!=""){
if(a.getTime() >= b.getTime()){
$.simpleAlert("结束时间不能小于开始时间")
}else{
var c = timeFn(a,b);
$("#MEETING_DURATION").val(c);
$("#MEETING_DURATION_Readonly").text(c)
}
}
}
function timeFn(dateBegin,dateEnd) {
//如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
var dateEnd = dateEnd;//获取当前时间
var dateDiff = dateEnd.getTime() - dateBegin;//时间差的毫秒数
var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天数
var leave1=dateDiff%(24*3600*1000) //计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000))//计算出小时数
//计算相差分钟数
var leave2=leave1%(3600*1000) //计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000))//计算相差分钟数
//计算相差秒数
var leave3=leave2%(60*1000) //计算分钟数后剩余的毫秒数
var seconds=Math.round(leave3/1000)
var leave4=leave3%(60*1000) //计算分钟数后剩余的毫秒数
var minseconds=Math.round(leave4/1000)
//var timeFn = "耗时:"+dayDiff+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒"+minseconds+"毫秒";
hours = hours <= 0 ? 0 : hours;
minutes = minutes <= 0 ? 0 : (minutes/60);
var timeFn = hours + minutes;
var obj
if(timeFn.toString().indexOf(".")>-1){//判断计算出的时长,是否等于整数
obj=timeFn.toFixed(2);
}else{
obj=timeFn;
}
//$("#MEETING_DURATION_M").val(seconds);
return obj;
}
</script>