1

对 Javascript 来说非常新 - 我已经搜索过,但只找到了我的问题的部分答案。

我在 CRM 实体上设置了是/否选项。当用户单击“是”时,我希望出现一个确认提示,并带有 OK/CANCEL 确认。这部分工作正常,但如果用户单击 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通过勾选事件处理程序对话框上的“将执行上下文作为第一个参数传递”框来传递给函数,方法是您要应用它的“是/否”字段。

其他 3 个参数是可选的,可以使用同一事件处理程序对话框的逗号分隔列表字段进行设置。

于 2013-10-11T09:15:51.587 回答