在Kintone中,时间字段当前增加了30分钟,但有没有办法用JavaScript来改变这个增量,比如增加10分钟?
我知道这与Kintone的JavaScript编码指南不太一致,但是改变时间字段的DOM结构以显示10分钟的增量是正确的前进方式吗?
答案 0 :(得分:1)
就像你说的那样,这可能是通过编辑DOM来实现的,但不是最好的选择,因为在任何更新之后定制可能不起作用。
作为替代或更好的选择,您可以创建两个下拉字段,"小时"在其中一个和"分钟"在另一个领域。
答案 1 :(得分:1)
感谢Yuzo
我尝试了你的解决方案,看看它是什么样的,并发现它实际上是一个很好的选择。 我目前使用24小时时钟格式,如下所示。
(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)。谢谢。