记录编辑事件

aki发表于:2016年09月16日 16:40:10更新于:2019年02月02日 18:13:37

Index

事件

在事件发生时可执行的操作

事件


记录编辑页面显示时的事件

记录编辑页面显示时发生的事件。

  • 可在PC专用版和智能手机专用版中使用。

  • 粘帖到空间中的应用不可使用。

函数

环境函数事件发生时机
PC专用app.record.edit.show
  • 显示应用的记录编辑页面时

智能手机专用mobile.app.record.edit.show
  • 显示记录编辑页面时

event对象的属性

以下内容不区分PC专用和智能手机专用。

属性名类型说明
appId数值应用ID
record对象记录对象
recordId数值记录ID

根据字段的值执行不同的处理

记录编辑页面在执行保存之前的事件

  • 可在PC专用版和智能手机专用版(※2016年12月开始可用)上使。

  • 粘帖到空间中的应用不可使用。

  • return kintone.Promise对象时,等待异步处理执行完成后才开始执行事件的处理。

函数

环境函数事件发生的时机
PC专用版app.record.edit.submit
  • 在记录编辑页面中点击保存按钮时

智能手机专用版
(※2016年12月开始可用)

mobile.app.record.edit.submit
  • 在记录编辑页面中点击保存按钮时

event对象的属性

PC专用版和智能手机专用版(※2016年12月开始可用)的内容相同。

属性名类型说明
appId数值应用ID
recordId数值记录ID
record对象记录对象。用于保存用户输入的数据。

根据字段的值执行不同的处理

等到异步处理执行完后再根据字段的值执行不同的处理

使用return kintone.Promise 对象的方法,可等待异步处理执行完后才开始根据字段的值执行不同的处理。
关于写法请参考记录添加页面在执行保存之前的事件

注意事项:

请查看有关事件处理的一些注意事项

记录编辑页面保存成功后的事件

于2016/8/14进行定期维护后开始可用的功能。

该事件在记录编辑页面点击保存按钮,并成功保存到服务器之后发生。

  • 仅可在PC专用版上使用。

  • 粘帖到空间中的应用不可使用。

  • 使用return kintone.Promise对象的方法,可等待异步处理执行完成。

  • 保存失败时不执行事件。

函数

app.record.edit.submit.success

event对象的属性

属性名类型说明
appId数值应用ID
recordId数值记录ID
record对象记录对象。用于保存用户输入的数据。

指定url属性

给event对象指定url属性,并return event时,事件处理后页面将跳转至所指定的URL。

url属性未指定、或指定为null时,跟往常一样跳转到记录详情页面。

比如,像下面这样写的话,保存成功后将跳转至[https://www.cybozu.cn/] 。

根据字段的值执行不同的处理

无。

范例

// 记录保存后显示更新时间    
kintone.events.on("app.record.edit.submit.success", function(ev)
  {    
    var record = ev.record;    
    alert("更新时间为" + record["更新时间"]["value"] + " 。");    
});

在记录编辑页面更改字段值时的事件

  • 可在PC专用版和智能手机专用版(※2016年12月开始可用)上使用。

  • 粘帖到空间中的应用不可使用。

函数

环境函数事件发生的时机
PC专用版app.record.edit.change.<字段代码>
  • 在记录编辑页面,指定的字段的值被更改时、或表单的值被重写时

智能手机专业版
(※2016年12月开始可用)

mobile.app.record.edit.change.<字段代码>
  • 在记录编辑页面,指定的字段的值被更改时、或表单的值被重写时

事件类型的<字段代码>中可指定的字段

app.record.create.change.<字段代码>相同。

event对象的属性

PC专用版和智能手机专用版(※2016年12月开始可用)的内容相同

属性名类型说明
appId数值应用ID
record对象记录对象。用于保存事件发生时用户输入的数据
recordId数值记录ID
changes对象发生更改的对象
changes.field对象发生更改的字段的对象
changes.row对象发生更改的表格行的对象
  • 给表格添加行时:change.row 参照添加的行的对象。

  • 删除表格的行时:change.row 为 null。

  • 更改表格之外的字段时:change.row 为 null。

根据字段的值执行不同的处理

注意事项:

请查看有关事件处理的一些注意事项

在事件发生时可执行的操作


重写字段的值

在句柄中record 对象中的字段值重写后,return event 对象时,将使用此值更新字段的值。

  • 可在PC专用版和智能手机专用版中使用。

  • 粘帖到空间中的应用不可使用。

  • 在单选框字段中指定空字符串时,默认初始值选项。

  • 即使设为不可编辑字段,也可重写值。

  • 对无添加权限的字符的值进行重写时,不会应用到表单中。

  • 最后的句柄不return的情况,将不更新字段的值。

  • 添加多个句柄时,将以最后的句柄return回来的值为标准进行更新。

范例

打开记录编辑页面时,给【文本框_0】字段、表格【Table】第一行的【文本框_1】字段设置初始值,并在表格的末尾添加行。
※如要添加表格的行,需要指定字段类型

kintone.events.on('app.record.edit.show', function(event) {    
    var record = event.record;    
    record['文本框_0']['value'] = '用该字符串覆盖';    
    record['Table']['value'][0]['value']['文本框_1']['value'] = '覆盖表格的第一条记录';    
    //在表格的末尾添加行    
    var newRow = {    
        value: {    
            文本框_1: {    
                ype: 'SINGLE_LINE_TEXT',    
                value: '添加到表格的行'    
            }    
        }    
    };    
    record['Table']['value'].push(newRow);    
    return event;    
});

不可重写的字段

以下字段即使在句柄中重写了字段的值并return,也不应用到表单中。

  • 计算

  • 要通过Lookup复制的字段

  • 附件

设置字段是否可编辑

在句柄中对record对象的字段的disabled设置true/false,并return event 对象时,该字段将变成可编辑/不可编辑。

  • 可在PC专用版和智能手机专用版中使用。

  • 粘帖到空间中的应用不可使用。

  • 即使将无编辑权限的字段设为可编辑(disabled 设为 false),此设置也不会生效。

范例

【下拉菜单_0】字段的值发生更改时,将【文本框_0】字段设为不可编辑。

kintone.events.on('app.record.edit.change.下拉菜单_0', function(event) {    
    var record = event.record;    
    record['文本框_0']['disabled'] = true;    
    return event;    
});

无法设置是否可编辑的字段

即使对以下字段的值设置是否可编辑,并return,设置也不应用到表单。

  • 计算

  • 通过Lookup复制时的复制目标字段(仅限旧风格)

在字段中报错

在句柄中对record对象的字段的error设置了错误信息,并return event 对象时,将取消表单的值的重写和是否可编辑的设置,对字段显示错误信息。

  • 可在PC专用版和智能手机专用版中使用。

  • 粘帖到空间中的应用不可使用。

  • 字段的error 设为null,并 return event对象时,可解除该字段的错误。

范例

在【文本框_0】字段和表格【Table】第一行的【文本框_1】字段中显示错误。

kintone.events.on('app.record.edit.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.edit.change.下拉菜单_0', function(event) {    
    event.error = '错误!';    
    return event;    
});

 

自动获取Lookup

Lookup字段的lookup属性设置为true的情况下,给记录设置值时,将获取Lookup。

  • 可在PC专用版和智能手机专用版中使用。

  • 粘帖到空间中的应用不可使用。

范例

打开记录编辑页面时,在【Lookup】字段中输入值并获取数据。

kintone.events.on('app.record.edit.show', function(event) {    
    var record = event.record;    
    record['Lookup']['value'] = '0001'; // Lookup字段的值    
    record['Lookup']['lookup'] = true;    
    return event;    
});

切换字段的显示/隐藏

  • 可在PC专用版和智能手机专用版(※2016年12月开始可用)上使用。

函数

环境函数事件发生的时机
PC专用版kintone.app.record.setFieldShown("字段代码","true/false")
  • 切换字段的显示/隐藏。函数kintone.app.record.setFieldShown的第一个参数为字段代码,第二个参数为true/false。
    指定为true时显示,指定为false时隐藏。

智能手机专业版
(※2016年12月开始可用)

kintone.mobile.app.record.setFieldShown("字段代码","true/false")
  • 切换字段的显示/隐藏。函数kintone.app.record.setFieldShown的第一个参数为字段代码,第二个参数为true/false。

    指定为true时显示,指定为false时隐藏。

范例

以下是显示记录编辑页面时,将字段代码【单行文本框】设为隐藏的例子:

kintone.events.on('app.record.edit.show', function(event) {    
    kintone.app.record.setFieldShown('单行文本框', false);    
});

以下字段不可设为隐藏。

  • 标签

  • 边框

  • 空白栏

  • 表格内的字段

获取发生了更改的字段及表格内的行对象

获取表格内有发生变更的行的对象、以及表格外有发生变更的字段。

  • 仅可在PC专用版上使用。

  • 粘帖到空间中的应用不可使用。

  • 仅可在表格内的事件发生时获取row对象。

  • 删除表格内的行时,row对象为null 。

kintone.events.on('app.record.edit.change.下拉菜单_0', function(event) {    
    var row = event.changes.row;    
    var field = event.changes.field;    
});


    您需要登录后才可以回复