【发布时间】:2019-10-06 21:37:01
【问题描述】:
我经营一个景观团队,而不是手动填写我们的表格,我想通过手机完成,并在表格字段中自动计算时间。我不熟悉 JavaScript,需要一些帮助才能获得正确的代码,以便在我更改次。 注意:我将使用 24 小时制。
我尝试了一些我发现的不同的 JavaScript sn-ps,虽然它们可以工作,但在处理时间输入时出现格式错误。关于如何将其编写到 Adobe 中的任何建议?
要生成员工时间,我使用以下代码:
更新编辑这会产生不正确的时间:
// start
var start = this.getField("Monday Site #1 Start Time").value;
var startArr = start.split(":");
// finish
var finish = this.getField("Monday Site #1 Depart Time").value;
var finishArr = finish.split(":");
// difference
var hourDiff = Math.abs(finishArr[0] - startArr[0]);
var minDiff = Math.floor((Math.abs(finishArr[1] - startArr[1]) / 60)*100);
if (minDiff.toString().length == 1)
minDiff = '0' + minDiff;
var output = hourDiff + "." + minDiff;
event.value = output;
if ((event.value == "") || (event.value == Infinity) || isNaN(event.value)) {
event.value = "";}
为了计算总站点时间(特定站点的总工时),我使用了这个:
var t1 = this.getField("WS1 Total").value;
var t2 = this.getField("WS1 Total").value;
var t3 = this.getField("WS1 Total").value;
event.value = t1+t2+t3
【问题讨论】:
-
您尝试更新的表单字段的格式是什么?
-
HH:MM的标准时间格式
-
那么
event.value的格式是什么? -
感谢 ksav!更改为无格式,这消除了错误。 但是 今天在现场测试表单时,我注意到时间计算不正确。请参阅上面的更新编辑。我应该为此发一个新帖子吗?
-
我不确定这里的错误是什么。你期望
2.18 + 2.18 + 2.18等于什么?
标签: javascript forms time adobe