Kintone的时间字段

时间:2018-06-01 01:27:03

标签: javascript css

在Kintone中,时间字段当前增加了30分钟,但有没有办法用JavaScript来改变这个增量,比如增加10分钟?

我知道这与Kintone的JavaScript编码指南不太一致,但是改变时间字段的DOM结构以显示10分钟的增量是正确的前进方式吗?

4 个答案:

答案 0 :(得分:1)

就像你说的那样,这可能是通过编辑DOM来实现的,但不是最好的选择,因为在任何更新之后定制可能不起作用。

作为替代或更好的选择,您可以创建两个下拉字段,"小时"在其中一个和"分钟"在另一个领域。

答案 1 :(得分:1)

感谢Yuzo

我尝试了你的解决方案,看看它是什么样的,并发现它实际上是一个很好的选择。 我目前使用24小时时钟格式,如下所示。

gif image of customization

(function() {
   "use strict";
   // "hours" -> field code of Hours field
   // "minutes" -> field code of Minutes field
   // "time" -> field code of Time field
    kintone.events.on(['app.record.create.submit','app.record.edit.submit','app.record.index.edit.submit'], function (event) {
      var hourvalue = event.record.hours.value;
      var minutevalue = event.record.minutes.value;
      event.record.time.value = hourvalue + ":" + minutevalue;
      return event;
   });
})();

我的团队更喜欢使用12小时时钟格式,所以我添加了一个单选按钮字段来表示AM和PM。我还将下拉菜单更改为仅包括0到11之间的选项。

我对我的代码进行了一些编辑,以便在输入时间字段之前所选的小时数将达到+12,但我一直收到错误,“event.record ['time']。值无效。 ”。不确定为什么会发生这种情况。这是我的新代码:

(function() {
   "use strict";
   // "hours" -> field code of Hours field
   // "minutes" -> field code of Minutes field
   // "time" -> field code of Time field
   // "ampm" -> field code of radio button field that has selections of AM and PM

   kintone.events.on(['app.record.create.submit','app.record.edit.submit','app.record.index.edit.submit'], function (event) {
      var hourvalue = event.record.hours.value;
      var minutevalue = event.record.minutes.value;

      if (event.record.ampm.value == "PM"){
         hourvalue = hourvalue + 12;
      }

   event.record.time.value = hourvalue + ":" + minutevalue;
   return event;
   });
})();

答案 2 :(得分:0)

我做了一些关于你在做什么的测试。 看起来您看到的错误仅在您返回的字段类型时出现 脚本中的to与您在表单中放置的实际字段类型不匹配。

所以我假设当你改变你的表格使它成为12点格式时, 您可能已更改将值放入时间字段的字段, 在它之前是文本字段。

你能检查一下吗?

我将在下面提供一个关于字段类型的链接,仅供参考

答案 3 :(得分:0)

我认为下拉字段返回一个字符串值。 因此,您需要在小时值之前使用parseInt函数将其转换为数字,例如小时值(hourvalue + 12)。谢谢。