SuperAPI AI 工具集

client-scripts

编程与开发

查看项目

更新于 10-15 22:12

技能介绍

用途:在浏览器端执行 JavaScript,操纵 ServiceNow 表单行为、校验数据并实现动态交互。适用对象为构建自定义表单行为、校验与用户体验增强的开发者,需具备客户端脚本管理员或管理员角色,可访问 sys_script_client、sys_ui_script 表,并掌握 JavaScript 基础与表单架构。

主要能力:onLoad(表单加载时初始化字段、设默认值)、onChange(字段值变更时处理依赖与级联逻辑)、onSubmit(提交时校验与确认,返回 false 可阻止提交)、onCellEdit(列表单元格编辑校验,通过 callback 完成或取消编辑)。g_form 提供取值/赋值/清空、显示与可见控制、必填/只读/禁用、标签与选项增删、表单与字段级消息提示及高亮闪烁等。g_user 提供当前用户标识、姓名与角色检查、客户端数据与偏好;g_scratchpad 由显示型业务规则在表单加载时传值到客户端,避免额外服务器调用。GlideAjax 通过可调用的 Script Include(如 AbstractAjaxProcessor 子类)实现异步取数与校验。

使用方式:脚本记录写入 sys_script_client,指定 name、table、type、script、active、order、ui_type(0 桌面、1 移动/Service Portal、10 两者)。onChange 中先用 isLoading、isTemplate 过滤加载与模板场景。GlideAjax 调用需先 addParam('sysparm_name', 方法名) 再添加自定义参数,并用 getXMLAnswer 回调解析响应。

限制与注意:g_form.getReference 的同步用法已弃用,建议改用 GlideAjax 或回调形式。简单显示/隐藏/必填逻辑优先用 UI Policy,字典校验优先,复杂逻辑或需阻止提交才用客户端脚本。执行顺序受 UI Policy、ACL 与脚本 order 影响:表单加载先评估 UI Policy 再按序执行 onLoad;字段变更先执行对应 onChange 再重评 UI Policy;提交时全部 onSubmit 返回 true 才提交并触发服务端业务规则。相关资料未提供具体版本兼容范围与移动端限制细节。