簡単なバリデーションを作成したいフォームがありますが、正しく機能していないようです。オプション セットには約 10 の選択肢がありますが、いくつかの検証のみを作成したいと考えています。たとえば、特定の人種の場合、ダイナミクス フォームに「指定」テキスト ボックスが表示され、データを入力できるようになりますが、オプション セットから特定の選択を行うと、ボックスは表示されません。私はそれを明確に説明したことを願っています。
現在、以下のコードは次のように機能します。
もう 1 つのボックスは、フォームの読み込み時には表示されません。オプションセットのドロップダウンから選択すると、フォームに表示され、データを入力できるようになります。ただし、特定の選択肢が選択された場合にのみ表示されます。間違った選択をすると、クリアされて再び見えなくなるはずです。現時点では、それは表示されたままで、テキストはフィールドに留まります。デフォルトでは、フォームロード時にオプションセットに値が割り当てられていません。
以下のコードは、ifステートメントが何らかの形で間違っているに違いないと思います。
function Example_Other() {
Xrm.Page.getAttribute("new_choiceoptionset").getValue();
if (Xrm.Page.getAttribute("new_choiceoptionset").getValue() == "White, Other
(specify)" || "Asian, Other (specify)" ||
"African, Other (specify)" || "Mixed, any other (specify)" || "Other ethnic group (specify)") {
Xrm.Page.ui.controls.get("new_othertextbox").setVisible(true);
} else {
Xrm.Page.ui.controls.get("new_othertextbox").setVisible(false);
Xrm.Page.getAttribute("new_othertextbox").setValue(null);
}
}