Index
事件
可使用event对象执行的操作
其他
事件
记录添加页面显示后的事件
记录添加页面显示之后发生的事件。
可在PC专用版和移动端专用版上使用。
粘贴到空间的应用中不会发生此事件。
如return了kintone.Promise,将等到异步处理结束后才开始之后的处理。
事件
环境 | 事件 | 事件发生时机 |
---|---|---|
PC 专用版 | app.record.create.show |
|
移动端专用版 | mobile.app.record.create.show |
|
event 对象的属性
PC专用版和移动端专用版的内容相同。
属性名 | 类型 | 说明 |
---|---|---|
appId | 数值 | 应用ID |
reuse | 布尔值 | 重复利用时为 true。通常的添加页面为false。 |
record | 对象 | 用于存放显示记录添加页面时的数据(表单的初始值)的记录对象※ ※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
type | 字符串 | 事件的类型。 |
可使用event对象执行的操作
请参考重写字段的值。
请参考设置字段的可/不可编辑。
请参考在字段中报错。
请参考在记录中报错。
请参考自动获取Lookup。
等到异步处理结束后才执行之后的处理
使用return kintone.Promise 对象的方法,可等待异步处理执行完后再对字段的值进行操作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法。
范例
显示记录添加页面时显示信息。
kintone.events.on('app.record.create.show', function(event) { window.alert("打开记录添加页面了"); return event; });
记录添加页面的字段值发生更改时的事件
可在PC专用版和移动端专用版上使用。
粘贴到空间的应用中不会发生此事件。
作为触发器的值的更改不可取消。
事件
环境 | 事件 | 事件发生的时机 |
---|---|---|
PC专用版 | app.record.create.change.<字段代码> |
|
移动端专用版 | mobile.app.record.create.change.<字段代码> |
|
字段代码中可指定的字段
仅当<字段代码>存在字段代码、且指定了以下类型的字段时,才会执行句柄。不存在字段代码或指定了以下类型以外的字段时,什么也不会发生。
单选框
下拉菜单
复选框
多选
选择用户
日期
时间
日期与时间
单行文本框*1
数值*2
表格*3
*1 在以下任一情况下,促发事件。
控件失去焦点时
通过Lookup复制值时
获得自动计算的结果时(仅限PC版)
*2 控件失去焦点时以及通过Lookup复制值时。
*3 表格字段的事件发生时机是点击表格的添加行、删除行的按钮时
event 对象的属性
PC专用版和移动端专用版的内容相同。
属性名 | 类型 | 说明 |
---|---|---|
appId | 数值 | 应用ID |
record | 对象 | 用于存放事件发生时用户输入的数据的记录对象※ ※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
changes | 对象 | 发生更改的对象 |
changes.field | 对象 | 发生更改的字段的对象 |
changes.row | 对象 | 发生更改的表格行的对象
|
type | 字符串 | 事件的类型 |
可使用event对象执行的操作
请参考重写字段的值。
请参考设置字段的可/不可编辑。
请参考在字段中报错。
请参考在记录中报错。
请参考自动获取Lookup。
请参考获取被更改的字段及表格内的行对象。
注意事项
请查看有关事件处理的一些注意事项。
限制事项
在以下事件中无法获取附件字段的信息。
app.record.create.change.<字段代码>
mobile.app.record.create.change.<字段代码>
记录添加页面在执行保存之前的事件
可在PC专用版和移动端专用版上使用。
粘帖到空间中的应用不可使用。
可通过return false来取消保存处理。
如return了kintone.Promise对象,将等待异步处理执行完后才开始之后的处理。
事件
环境 | 事件 | 事件发生的时机 |
---|---|---|
PC专用版 | app.record.create.submit |
|
移动端专用版 | mobile.app.record.create.submit |
|
event 对象的属性
PC专用版和移动端专用版的内容相同。
属性名 | 类型 | 说明 |
---|---|---|
appId | 数值 | 应用ID |
record | 对象 | 用于存放用户输入的数据的记录对象※ ※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
type | 字符串 | 事件的类型 |
可使用event对象执行的操作
等到异步处理执行完后再执行之后的处理
使用return kintone.Promise 对象的方法,可等待异步处理执行完后才开始对字段的值进行操作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法。
注意事项
请查看有关事件处理的一些注意事项。
限制事项
在以下事件中无法获取附件字段的信息。
app.record.create.submit
mobile.app.record.create.submit
记录添加页面保存成功后的事件
该事件在记录添加页面或重复利用页面点击保存按钮,服务器保存成功后发生。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
如return了kintone.Promise对象,将等待异步处理执行完后才开始之后的处理。
保存失败时不执行事件。
事件
环境 | 事件 | 事件发生时机 |
---|---|---|
PC 专用版 | app.record.create.submit.success |
|
移动端专用版 | mobile.app.record.create.submit.success |
|
event 对象的属性
属性名 | 类型 | 说明 |
---|---|---|
appId | 数值 | 应用ID |
recordId | 字符串 | 记录ID |
record | 对象 | 用于存放用户输入的数据的记录对象※ ※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
type | 字符串 | 事件的类型 |
指定url属性
给event对象指定url属性,并return event时,事件处理后页面将跳转至所指定的URL。
url属性未指定、或指定为null时,跟往常一样跳转到记录详情页面。
例如,像下面这样写的话,保存成功后将跳转至[https://www.cybozu.cn/] 。
// 保存成功后将跳转至[https://www.cybozu.cn/] 。 kintone.events.on('app.record.create.submit.success', function(event) { event.url = "https://www.cybozu.cn/"; console.log("url: " + event.url); return event; });
可使用event对象执行的操作
无。
范例
// 显示记录保存后发行的记录ID kintone.events.on("app.record.create.submit.success", function(ev){ var record = event.record; window.alert("记录ID: " + record["$id"]["value"] + " 已保存。"); return event; });
可使用event对象执行的操作
重写字段的值
在句柄中record 对象中的字段值重写后,return event 对象时,将使用此值更新字段的值。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
即使设为不可编辑字段,也可重写值。
对无添加权限的字符的值进行重写时,不会应用到表单中。
最后的句柄不return的情况,将不更新字段的值。
添加多个句柄时,将以最后的句柄return回来的值为标准进行更新。
范例
打开记录添加页面时,给【文本框_0】字段、表格【Table】第一行的【文本框_1】字段设置初始值,并在表格的末尾添加行。
※如要添加表格的行,需要指定字段类型。适用于PC专用版和移动端专用版。
kintone.events.on('app.record.create.show', function(event) { var record = event.record; record['文本框_0']['value'] = '用该字符串覆盖'; record['Table']['value'][0]['value']['文本框_1']['value'] = '覆盖表格的第一条记录'; //在表格的末尾添加行 var newRow = { value: { 文本框_1: { type: 'SINGLE_LINE_TEXT', value: '添加到表格的行' } } }; record['Table']['value'].push(newRow); return event; });
无法重写的字段
以下字段即使使用句柄重写了字段的值并return,也不应用到表单中。
记录编号
创建人
创建时间
更新人
更新时间
状态
执行者
计算
设置为自动计算的单行文本框
附件
Lookup
Lookup的复制目标字段
设置字段的可/不可编辑
在句柄中对record对象的字段的disabled设置true/false,并return event 对象时,该字段将变成不可/可编辑。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
即使将无编辑权限的字段设为可编辑(disabled 设为 false),此设置也不会生效。
范例
【下拉菜单_0】字段的值发生更改时,将【文本框_0】字段设为不可编辑。
kintone.events.on('app.record.create.change.下拉菜单_0', function(event) { var record = event.record; record['文本框_0']['disabled'] = true; return event; });
无法设置可/不可编辑的字段
即使对以下字段的值设置可/不可编辑,并return,设置也不应用到表单。
记录编号
创建人
创建时间
更新人
更新时间
状态
执行者
自动计算的单行文本框
计算
在字段中报错
在句柄中对record对象的字段的error设置了错误信息,并return event 对象时,将取消表单的值的重写和可/不可编辑的设置,对字段显示错误信息。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
字段的error 设为null,并 return event对象时,可解除该字段的错误。
范例
在【文本框_0】字段和表格【Table】第一行的【文本框_1】字段中显示错误。
kintone.events.on('app.record.create.change.下拉菜单_0', function(event) { var record = event.record; record['文本框_0']['error'] = '显示此错误信息'; record['Table']['value'][0]['value']['文本框_1']['error'] = '表格第一条记录显示错误'; return event; });
以下字段即使设置了错误值,也不会显示错误。
记录编号
创建人
创建时间
更新人
更新时间
状态
执行者
计算
在记录中报错
在句柄中给event 对象的error定义错误信息后,return event对象时,将取消字段值的重写以及可/不可编辑的设置,在页面顶部显示错误信息。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
kintone.events.on('app.record.create.change.下拉菜单_0', function(event) { event.error = '错误!'; return event; });
自动获取Lookup
Lookup字段的lookup属性设置为 'UPDATE' 或true时,将自动获取lookup。
只有当lookup的搜索结果仅有一条时才可自动获取。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
范例
打开记录添加页面时,在【Lookup】字段中输入值并获取数据。
kintone.events.on('app.record.create.show', function(event) { var record = event.record; record['Lookup']['value'] = '0001'; // Lookup字段的值 record['Lookup']['lookup'] = true; // 或者 record['Lookup']['lookup'] = 'UPDATE'; return event; });
清空Lookup复制目标字段的值
Lookup字段的lookup属性指定为 'CLEAR' 时,将清空复制目标字段(复制到字段)的值。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
范例
打开记录添加页面时,将清空“Lookup”字段的复制目标字段的值。
kintone.events.on('app.record.create.show', function(event) { var record = event.record; record['Lookup']['lookup'] = 'CLEAR'; return event; });
获取被更改的字段及表格内的行对象
获取表格内有发生变更的行的对象、以及表格外有发生变更的字段。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
仅可在表格内的事件发生时获取row对象。
删除表格内的行时,row对象为null 。
kintone.events.on('app.record.create.change.下拉菜单_0', function(event) { var row = event.changes.row; var field = event.changes.field; return event; });
其他
相关Tips
添加记录时给表格设置初始值(暂时只提供日文页面)
根据年份自动生成编号(暂时只提供日文页面)
回复(9)
你可以找到这个按钮的id或者class来触发,在这行下面添加一行并设置为禁止编辑。
你可以使用:
append() - 在被选元素的结尾插入内容
after() - 在被选元素之后插入内容
disabled 属性可设置或返回是否禁用 checkbox。
没有table的加号按钮触发事件的api的。
请问 table的“+” 怎么获取按钮的触发状态,设置新加一行的自段无法编辑。
在记录添加,编辑事件的时候可以判断下这个table的值是不是你认为的空,如果是的话可以重写这个table的值,将value直接设置为[]. 这样提交后的table是没有空行的
重写字段的值:
https://cybozudev.kf5.com/hc/kb/article/206878#step4
论坛里有类似的问题,请参考
https://cybozudev.kf5.com/hc/community/question/1016263/
请问,应用中,几个字段合并的table ,当我编辑 或者 创建新内容的时候,table 后面 会有一个 '+' 和一个 '-' 的图标,我可以把这两个按钮设置成禁用吗?或者 隐藏掉吗 ,如果可以的话,我应该如何来设置呢?
我想请教一下,我在一个应用中,把几个字段 设置成了一个table, 我在进行保存操作时,当我在table中不输入内容,直接进行保存,保存成功以后,会有一个空行,我可以把这个空行删掉吗,如果没有在table中输入内容,就只显示表头,而不是显示一个空的行。如果可以的话,我应该如何来设置呢,谢谢。
你是希望数据导入A-APP的同时post到B-APP吗?
可以的,你可以使用promise的方式同时添加到2个APP中。
还是问A-APP的数据能不能通过post的方式添加到B-APP?
可以的,先get A-APP中给数据,然后再post到B-APP中。
记得数据类型要与字段类型匹配哦,不然会出错。