Index
事件
可使用event对象执行的操作
其他
事件
记录列表页面显示后的事件
记录列表页面显示后发生的事件。
可在PC专用版和移动端专用版中使用。
粘帖到空间中的应用不可使用。
如return了kintone.Promise,将等到异步处理结束后才开始之后的处理。
事件
环境 | 事件 | 事件发生时机 |
---|---|---|
PC专用 | app.record.index.show |
|
移动端专用 | mobile.app.record.index.show |
|
※1 仅限记录列表的显示形式为“表格形式”时。
※2 仅限记录列表的显示形式为“日历”时。
event对象的属性
PC专用版和移动端专用版的内容一样。
属性名 | 类型 | 说明 |
---|---|---|
appId | 数值 | 应用ID |
viewType | 字符串 | 'list'或者 'calendar'或者 'custom' |
viewId | 数值 | 列表 ID |
viewName | 字符串 | 列表名称 |
records | 数组 或者 对象 | 根据不同的viewType,值分别如下
※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
offset | 数值 | 根据不同的viewType,值分别如下:
|
size | 数值 | 根据不同的viewType,值分别如下:
|
date | 字符串 | 根据不同的viewType,值分别如下:
|
type | 字符串 | 事件类型 |
可使用event对象执行的操作
等到异步处理结束后才执行之后的处理
使用return kintone.Promise 对象的方法,可等待异步处理执行完后再执行可对event对象执行的操作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法。
范例
记录列表页面显示时弹出消息。
kintone.events.on('app.record.index.show', function(event) { alert("已经打开记录列表页面"); return event; });
记录列表页面的行内编辑开始时的事件
记录列表页面的行内编辑中,任意一条记录的行内编辑开始时发生。
仅可在PC专用版上使用。
粘帖到空间的应用中不可使用。
如return了 kintone.Promise ,将等待异步处理结束后才执行后面的处理。
事件
app.record.index.edit.show
event 对象的属性
PC专用版和移动端专用版的内容一样。
属性名 | 类型 | 说明 |
---|---|---|
appId | 数值 | 应用ID |
record | 对象 | 用于存放行内编辑开始时的数据的记录对象※ ※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
recordId | 字符串 | 记录ID |
type | 字符串 | 事件类型 |
可使用event对象执行的操作
请参考设置字段的可/不可编辑。
等到异步处理结束后才执行后面的处理
使用return kintone.Promise 对象的方法,可等待异步处理执行完后再执行可对event对象执行的操作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法。
记录列表页面的行内编辑字段值更改时的事件
记录列表页面的行内编辑中指定字段的值被更改时,表单的值被重写时发生的事件。
仅可在PC专用版上使用。
粘帖到空间的应用中不可使用。
作为触发器的值的更改不可取消。
事件
app.record.index.edit.change.< 字段代码>
字段代码中可指定的字段
仅当<字段代码>存在字段代码、且指定了以下类型的字段时,才会执行句柄。不存在字段代码或指定了以下类型以外的字段时,什么也不会发生。
单选框
下拉菜单
复选框
多选
选择用户
选择组织
选择组
日期
时间
日期与时间
单行文本框
数值
※ 关于单行文本框和数值字段的事件发生的时机如下。 根据浏览器的不同,略有不同。
控件失去焦点时
通过Lookup复制值时
单行文本框字段设置为“自动计算”的情况下,自动计算结果反映到字段中时(在记录列表页面上编辑时,自动计算处理本身无效,因此不包含在内)
event 对象的属性
PC专用版和移动端专用版的内容一样。
属性名 | 类型 | 说明 |
---|---|---|
appId | 字符串 | 应用ID |
record | 对象 | 用于存放事件发生时用户输入的数据的记录对象※ ※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
recordId | 字符串 | 记录ID |
changes | 对象 | 发生更改的对象 |
changes.field | 对象 | 发生更改的字段的对象 |
type | 字符串 | 事件类型 |
可使用event对象执行的操作
请参考重写字段的值。
请参考设置字段的可/不可编辑。
请参考在字段中报错。
请参考在记录中报错。
请参考获取更改后的字段。
注意事项
请查看有关事件处理的一些注意事项。
记录列表页面的行内编辑保存前的事件
在记录列表页面进行行内编辑并点击“保存”按钮后发生的事件。
仅可在PC专用版上使用的事件。
粘帖到空间中的应用不可使用。
可通过return false来取消保存处理。
如return了kintone.Promise对象,将等待异步处理执行完后才开始之后的处理。
事件
app.record.index.edit.submit
event 对象的属性
PC专用版和移动端专用版的内容一样。
属性名 | 类型 | 说明 |
---|---|---|
appId | 字符串 | 应用ID |
recordId | 字符串 | 记录ID |
record | 对象 | 用于存放用户输入的数据的记录对象※ ※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
type | 字符串 | 事件类型 |
可使用event对象执行的操作
等到异步处理结束后才执行后面的处理
使用return kintone.Promise 对象的方法,可等待异步处理执行完后再执行可对event对象执行的操作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法。
注意事项:
请查看有关事件处理的一些注意事项。
记录列表页面的行内编辑保存成功后的事件
在服务器端成功保存记录列表页面的行内编辑时发生。
仅可在PC专用版上使用。
粘帖到空间的应用中不可使用。
如return了kintone.Promise对象,将等待异步处理执行完后才开始之后的处理。
保存失败时不执行事件。
事件
app.record.index.edit.submit.success
event 对象的属性
PC专用版和移动端专用版的内容一样。
属性名 | 类型 | 说明 |
---|---|---|
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.index.edit.submit.success', function(event) { event.url = "https://www.cybozu.cn/"; console.log("url: " + event.url); return event; });
可使用event对象执行的操作
无。
范例
//保存记录后显示更新时间 kintone.events.on("app.record.index.edit.submit.success", function(ev) { var record = ev.record; alert("更新时间为" + record["更新时间"]["value"] + " 。"); return event; });
记录列表页面执行记录删除前的事件
在记录列表页面点击删除按钮并在弹出框点击“删除”之后发生。
仅可在PC专用版上使用。
粘帖到空间的应用中不可使用。
可通过return false取消删除处理。
如return了kintone.Promise对象,将等待异步处理执行完后才开始之后的处理。
事件
app.record.index.delete.submit
event 对象的属性
PC专用版和移动端专用版的内容一样。
属性名 | 类型 | 说明 |
---|---|---|
appId | 数值 | 应用ID |
record | 对象 | 用于保存要删除的记录数据的记录对象※ ※记录对象是指:含有字段代码以及字段值等记录信息的对象。 字段的值因字段类型而异,详情请参考字段格式。 |
recordId | 数值 | 记录ID |
type | 字符串 | 事件类型 |
可使用event对象执行的操作
请参考在记录中报错。
等到异步处理结束后才执行后面的处理
使用return kintone.Promise 对象的方法,可等待异步处理执行完后再执行可对event对象执行的操作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法。
范例
不使用kintone.Promise时
kintone.events.on(['app.record.index.delete.submit'], function(event) { var record = event.record; if (!record['公司名称']['value']){ event.error = '无公司名称,无法删除。'; } return event; });
//返回return false时不处理 kintone.events.on(['app.record.index.delete.submit'], function(event) { var record = event.record; // 无公司名称时返回false return (record['公司名称']['value']!== null); });
可使用event对象执行的操作
重写字段的值
在句柄中record 对象中的字段值重写后,return event 对象时,将使用此值更新字段的值。
仅可在PC专用版上使用。
粘帖到空间中的应用不可使用。
即使设为不可编辑字段,也可重写值。
无法删除、添加表格的行。
对无添加权限的字符的值进行重写时,不会应用到表单中。
最后的句柄不return的情况,将不更新字段的值。
添加多个句柄时,将以最后的句柄return回来的值为标准进行更新。
范例
更改记录列表页面的“下拉菜单_0”字段的值时,对“文本框_0”字段、表格“Table”第一行的“文本框_1”字段设置初始值。
kintone.events.on('app.record.index.edit.change.下拉菜单_0', function(event) { var record = event.record; record['文本框_0']['value'] = '用该字符串覆盖'; record['Table']['value'][0]['value']['文本框_1']['value'] = '覆盖表格第一条记录'; return event; });
无法重写的字段
以下字段即使使用句柄重写了字段的值并return,也不应用到表单中。
记录编号
创建人
创建时间
更新人
更新时间
状态
执行者
计算
设置为自动计算的单行文本框
附件
Lookup
要通过Lookup复制的字段
设置字段的可/不可编辑
在句柄中对record对象的字段的disabled设置true/false,并对event 对象进行return时,该字段将变成可/不可编辑。
仅可在PC专用版上使用。
粘帖到空间中的应用不可使用。
即使将无编辑权限的字段设为可编辑(disabled 设为 false),此设置也不会生效。
范例
“下拉菜单_0”字段的值发生更改时,将“文本框_0”字段设为不可编辑。
kintone.events.on('app.record.index.edit.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”字段中显示错误。
kintone.events.on('app.record.index.edit.submit', function(event) { var record = event.record; record['文本框_0']['error'] = '显示此错误信息'; return event; });
以下字段即使设置了错误值,也不会显示错误。
记录编号
创建人
创建时间
更新人
更新时间
状态
执行者
计算
在记录中报错
在句柄中给event 对象的error定义错误信息后,return event对象时,将取消字段值的重写以及可/不可编辑的设置,在页面顶部显示错误信息。
仅可在PC专用版上使用。
粘帖到空间中的应用不可使用。
范例
在记录列表页面点击“保存”时的事件发生时在记录中显示错误。
kintone.events.on('app.record.index.edit.submit', function(event) { event.error = '错误!'; return event; });
获取更改后的字段
获取发生了更改的字段。
仅可在PC专用版上使用。
粘帖到空间中的应用不可使用。
kintone.events.on('app.record.index.edit.change.下拉菜单_0', function(event) { var field = event.changes.field; return event; });
回复(4)
记录列表页面没有。浏览器的API可能会有这样的监听事件。
请问,记录列表页面有关于页面关闭的监听事件吗
我这边在列表页和详情页都做了测试,用的你的代码,然后点击删除,数据都没有被删除啊
在 app 裏建立了如上的 code,其執行的結果應該是要能夠 cancel 刪除事件,在 detail 頁面裏沒有問題,但在列表頁面裏,記錄卻依然被刪除了… 請教這是系統的 bug 嗎,我要如何解決此問題,謝謝