上一主题: 如何在字段中使用 JavaScript 表达式下一主题: 如何基于 JavaScript 表达式预填充字段


可在 JavaScript 表达式中指定的对象和属性

在 JavaScript 表达式中指定对象和属性。 对于用作表单上字段的元素,可以将这些表达式作为这些元素的属性的运行时值。 通常使用以下格式指定这些表达式:$(_.object.property)。

例如,要捕获填写请求表单的已登录用户的运行时值,请指定 $(_.user.firstName)。 您也可以串联字符串,这些内容在该主题后面部分讲述。

表单

该表单对象包含以下可在 JavaScript 表达式中使用或将其作为 JavaScript 函数的第一个参数的属性:ca_fd.formId。

formId 指活动表单。 当表单中的字段触发事件时,该表单处于活动状态。 以下是激活表单的几个示例操作:

用户

用户对象包含一系列可通过 _.user 访问的用户属性。

每个用户对象都会在相关组中列出以下属性:

示例

可以使用 _.user.groups 属性对某个 CA EEM 组(如“开发人员”组)的成员隐藏字段。 要实现此目的,请按如下所示设置 HTML 属性“隐藏”的值:

_.user.groups.indexOf("developers") >= 0

相反,您也可以使字段对不是 CA EEM 组成员的用户可见。 要实现此目的,请按如下所示设置“隐藏”属性的值:

_.user.groups.indexOf("developers") < 0

业务单位

业务单位对象包含一系列可通过 _.bu 访问的业务单位属性。

每个业务单位对象都在相关组中列出了以下属性:

请求

请求对象包含一系列可通过 _.request 访问的请求属性。

每个请求对象都在相关组中列出了以下属性:

服务

服务对象包含一系列可通过 _.service 访问的服务。

每个服务对象都在相关组中列出了以下属性:

服务选项组

服务选项组对象包含一系列可通过 _.sog.name 访问的服务选项。

每个服务选项组都在相关组中列出了以下属性:

服务选项

服务选项对象适用于名为 _.serviceoption.status( ) 的预定义 JavaScript 函数

_.serviceoption.status 函数只包含一个名为 newStatus 的属性。

注意:该函数带任何参数。

newStatus--

指定在用户操作更新服务选项状态时的状态值。 一旦用户执行了以下操作之一,该属性就会取新的状态值:

在这两种情况下,_.serviceoption.newStatus() 的值都会立即更改。 与此不同,_.serviceoption.status( ) 的值只有在提交并刷新页面后才会更改。

注意:如果依赖用户完成页面或对话框,与状态更改相关的 JavaScript 函数会更改其行为。 (通常,该操作为单击“确定”)。 例如,名为 onSubmit 的 JavaScript 函数通常引用状态更改。 只有当用户完成页面或对话框时(而不是在 newStatus 值更改时),onSubmit 函数才运行。

示例

可以使用 newStatus 属性帮助您有效实施流程预约。 例如,假定用户提交了一个主要请求(请求计算机),同时还提交了几个附加请求(请求相关的选项)。 这些选项包括额外内存、升级键盘等。 您可以创建自定义的 JavaScript 函数,以便在主要请求被拒绝时,对所有可选请求运行 onSubmit 函数。 可选请求示例包括附件、额外内存等。 例如,在初始状态为 400 且 newStatus 变为 800 时,下列表达式判定为 True:

 if (_.serviceoption.status() == 400 && _.serviceoption.newStatus == 800)...

运算符

下面将讲述表单设计中最常用的运算符。 有关标准运算符的完整信息,请参阅组织使用的 JavaScript 标准参考资料,例如:www.developers.sun.com 或 www.javascript.com。

您可以在 JavaScript 表达式中使用赋值运算符之外的所有标准运算符。

赋值运算符如下所示:=、+=、-=、*=、/=。

例如,由于使用了赋值运算符 =,以下表达式无效:

$(var x = 1+2)

必需返回值

可为 JavaScript 表达式指定“已禁用”、“选中”和“隐藏”属性,这些属性返回下列值之一:

如果表达式返回任何其他值,CA Service Catalog 会将其替换为 false 值。 因此,如果为文本字段的“已禁用”属性指定 $(_.user.firstName),则只有当用户的名为“true”时,该字段才会禁用。

串联运算符

可以选择使用 + 运算符,将两个字符串串联在一起。

例如,$(‘Hello ‘ + _.user.firstName + ‘ ‘ + _.user.lastName) 返回以下文本:Hello first-name last-name 。示例有:“Hello John Doe”和“Hello Jane Smith”。

比较运算符

您可以使用下列比较运算符:

有关表单设计器中使用的示例,请参阅以下相关主题:

逻辑运算符

可以选择使用以下逻辑运算符:

有关表单设计器中使用的示例,请参阅以下相关主题: