1

Javascript は初めてです。検索しましたが、問題に対する部分的な回答しか見つかりませんでした。

CRM エンティティに YES/NO オプションを設定しています。ユーザーが [はい] をクリックしたときに、OK/CANCEL の確認とともに確認プロンプトが表示されるようにします。この部分は正常に動作しますが、ユーザーが [キャンセル] をクリックした場合にオプション セットを NO に戻すことも必要です。この部分が解りません。

以下のコード - CANCEL クリックでオプション セットを NO に戻す追加のコードがどこにあるのかを教えてください。助けてくれてどうもありがとう:

function new_submitforapproval_onchange ()
{
var approval = confirm("confirm message here");
if (approval)
{
  alert("ok message here");
}
else
{
  alert("cancel message here");
}
}
4

1 に答える 1

2

より一般的な解決策は、次の関数です。

function confirmChange(eCxt, promptMessage, okMessage, cancelMessage) {
    var promptMessage = promptMessage || "This is the default prompt";
    var okMessage = okMessage || "ok message here";
    var cancelMessage = cancelMessage || "cancel message here";
    if (confirm(promptMessage)) {
        alert(okMessage);
    } else {
        alert(cancelMessage);
        eCxt.getEventSource().setValue(0); // This assumes the field is boolean. 
        //eCxt.getEventSource().setValue(null); // Change the above line to this if applicable to an OptionSet.
    }
}

eCxtは、これを適用する Yes/No フィールドのイベント ハンドラー ダイアログで [実行コンテキストを最初のパラメーターとして渡す] ボックスにチェックを入れることで、関数に渡されます。

他の 3 つのパラメーターはオプションであり、同じイベント ハンドラー ダイアログのコンマ区切りリスト フィールドを使用して設定できます。

于 2013-10-11T09:15:51.587 に答える