getRFValues( )

检索重复表单实例上指定项的当前值。

语法

如果您希望仅从重复表单实例中提取单个值,还可以考虑 getQuestionValue( )

注意:

这是一个聚合函数,如果目标在重复表单上,则将为每个表单实例运行规则。

getRFValues(formInstance, ['var1', 'var2', 'varN'] )

参数

formInstance

您从中检索值的表单的实例编号。此参数可以是 JavaScript 变量,也可以是数字。

var1、var2、varN
要检索的项变量值。

注:

允许在规则表达式的其他位置重复使用传递给此函数的变量,但是必须使用单引号将变量添加为参数。

返回值

返回包含变量(与在 param2 中传递的名称相同)的 JSON 对象,其值如下:

  • 如果变量为部分日期,则返回的变量值将是 C1Date 对象;如果变量为完整日期,则变量值将是日期对象。可以使用 isPartialDate( ) 函数进行检查,如下所示。
  • 如果变量是选项控件(复选框、单选按钮或下拉列表),则返回的变量将采用 JSON 格式:("[{\"value":\"3\",\"label\":\"TestLabel\"}]")。这可以使用 JSON.parseparseChoice( ) 进行解析。
    • parseChoice(rfData.v4_chk4))
    • JSON.parse(rfDate.v4_chk4))
  • 如果传入的变量中的任何一个具有传入重复表单实例编号的值,则返回对象的属性名称 'exists' 将返回 true

示例 3-59 在 AE 表单实例 #1 中获取 3 个项变量的值,并将其置于文本项中

varrfData = getRFValues(1, ['aeTerm','aeDate','aeSerious'] );
if(rfData.exists){
    returnrfData.aeTerm + "  | "  + rfData.aeDate.getFullYear() + " | "+ JSON.parse(rfData.aeSerious)[0].label;
} else{
    return;
}   


// It is best practice to check if the variable has value before using it
varrfData = getRFValues(1, ["aeTerm","aeDate"] );
if(rfData.exists && rfData.aeTerm && rfData.aeDate){
    returnrfData.aeTerm + "  | "  + rfData.aeDate.getFullYear() ;
} else{
    return;
}