0

我有一个 PDF 表格,但它需要能够以电子方式或用老式笔填写。因此,它包括带有“时间进入”和“超时”的时间计算。为简化起见,表格包括相应地选择“am”或“pm”的选项。见 表格输入样本

所以我想我想出了一种切割方式,如果以电子方式使用,我可以允许用户以“h:MM”格式输入时间并连接“am”或“pm”选择,将结果隐藏具有“h:MM tt”格式的字段并相应地执行我的时间计算。除了“12:xx”之外,这个新隐藏字段中的结果在所有时间都可以完美运行。当您选择“pm”时,concat 结果为“0:00 am”,如果您选择“am”,则结果为“12:00 pm”。我无法弄清楚如何与之抗争。这是我用来在隐藏字段中创建结果的代码:

//format for inputted time
var TimeFormat = "h:MM";
// field names
var str1Field = "TimeIn"
var str2Field = "TimeInTT"
// get field values
var str1 = this.getField(str1Field).value;
var str2 = this.getField(str2Field).value;
// concat strings if there is data
if(str1 != "" && str2 != ""){
var res = (TimeFormat, str1) + " " + str2;
event.value = res;
}

“TimeIn”是时间字段“h:MM”,“TimeIn TT”是“am”或“pm”。对此的任何帮助将不胜感激。也许有更好的方法来做到这一点?谢谢你。

4

1 回答 1

0

我找到了解决我的问题的方法。回顾一下,问题是当我尝试将格式为“h:MM”的字段与提供“am”或“pm”的单选按钮选项连接并将结果输出到格式为“h:MM tt”的字段时",除了中午(12:00 pm)和午夜之外,上面的 JavaScript 将在所有时间工作。(12:00 AM)。经过数小时尝试多种事物的组合后,使用

event.value = res.replace("12:00", "0:00");

给了我想要的结果。同样,这只是在计算格式为“h:MM tt”的字段时出现的问题。如果它只是一个文本字段,则没有问题。但是,我需要将它作为时间字段来进行额外的时间计算。所以清理完后的脚本是这样的:

 // field names
 var str1Field = "Day1Pd1TimeIn" //Text Field
 var str2Field = "Day1Pd1TimeInPeriod" //Radio Button
 // get field values
 var str1 = this.getField(str1Field).value;
 var str2 = this.getField(str2Field).value;
 // concat strings if there is data
 if(str1 != "" && str2 != "Off")
 {
 var res = str1 + " " + str2;
 event.value = res.replace("12:00", "0:00");
 }

也许这将有助于将来的某人。

于 2018-06-14T22:13:34.160 回答