getQuestionValue( )
指定された項目パスの単一の質問値を返します。アイテム・パスは完全パスである必要があり、visitId、formIdおよびitemIdの値が含まれている必要があります。この関数は、繰返しフォームとフラット・フォームの両方の質問から値をフェッチします。
「すべての訪問」は、変数定義では使用できません。単一の関数コールで繰返しフォーム・インスタンスから複数の値をフェッチする場合は、getRFValues( )関数を使用します。
注意:
このルールは訪問開始日アイテムをサポートしていません。
これは集計関数で、ターゲットが繰返しフォームにある場合はフォーム・インスタンスごとにルールが実行されます。
構文
getQuestionValue('ruleVariable', eventInstanceNumber, formInstanceNumber, repeatFormNumber)
パラメータ
- ruleVariable
-
変数(ルール・エディタから)。
- eventInstanceNumber
-
イベント・インスタンス番号/サイクル・インスタンス番号(オプション)。非繰返し訪問を参照するには、空の文字列を渡します。
- formInstanceNumber
-
フォーム インスタンス番号(オプション)。非繰返しフォームを参照するには、空の文字列を渡します。
- repeatFormNumber
-
2つのセクション・フォームで項目を参照するには、フォーム番号(オプション)を繰り返します。
注意:
オプションのパラメータが欠落している場合は、インスタンス番号の現在の値が使用されます。
戻り値
質問値。値がない場合はnull。
-
日付: 返される変数値は、変数が部分日付の場合にC1Dateオブジェクトになります。または、変数が完全日付の場合にDateオブジェクトになります。
注意:
日付アイテムを使用する場合は、nullのチェックを含める必要があります。詳細は、例を参照してください。
-
オプションのパラメータが指定されていない場合、イベント・インスタンス番号およびフォーム・インスタンス番号はルール・ターゲット・コンテキストから取得されます。
-
変数が選択制御(チェックボックス、ラジオまたはドロップダウン)である場合、返される変数値はJSON形式の文字列(
"[{\"value\":\"3\",\"label\":\"TestLabel\"}]"
)です。これは、JSON.parse
またはヘルパー関数parseChoice
を使用して解析できます。parseChoice(result))
JSON.parse(result))
例3-95 2セクション・フォームでのgetQuestionValueの使用
2セクション・フォームの表行内のアイテムにgetQuestionValueを使用するには、構文は次のとおりです。
getQuestionValue('ruleVariable', eventInstanceNumber, repeatNumber, formInstanceNumber)
// Get a value from an item in a flat form
return (getQuestionValue('text1');
// Get a value from an item in repeating form instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', '', 1);
// Get a value from a flat form in unscheduled visit instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', 1, '');
// Get a date value from a flat form
var res = getQuestionValue('dt1');
if(res !== null) {
return res.getFullYear();
} else {
// do nothing
return;
}
//In a 2-section form, get a value from Form 2, Table Row 3:
return getQuestionValue('v2', '', 3, 2);
親トピック: 複数の訪問スケジュールおよびサイクル訪問関数