Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/MS Dynamics CRM 2016:使用确认框更改选项集字段的值_Javascript_Dynamics Crm_Dynamics Crm Online - Fatal编程技术网

Javascript/MS Dynamics CRM 2016:使用确认框更改选项集字段的值

Javascript/MS Dynamics CRM 2016:使用确认框更改选项集字段的值,javascript,dynamics-crm,dynamics-crm-online,Javascript,Dynamics Crm,Dynamics Crm Online,我在Dynamics CRM中有一个选项集字段,它有两个值:“进行中”(默认值)和“完成”。使用JavaScript,我想发出一个确认框,该框在字段事件OnChange期间触发。确认框警告用户,如果用户选择“已完成”,它将锁定记录中的所有其他字段 无论如何,我编写了我的代码,这样确认框将设置选项集的值。出于某种原因,它不会更改字段的值。如果用户单击“已完成”,并且当用户单击确认框中的“取消”进行确认和验证时,它仍会将字段值设置为“已完成”。有没有理由不设置字段值?这是我的密码: function

我在Dynamics CRM中有一个选项集字段,它有两个值:“进行中”(默认值)和“完成”。使用JavaScript,我想发出一个确认框,该框在字段事件OnChange期间触发。确认框警告用户,如果用户选择“已完成”,它将锁定记录中的所有其他字段

无论如何,我编写了我的代码,这样确认框将设置选项集的值。出于某种原因,它不会更改字段的值。如果用户单击“已完成”,并且当用户单击确认框中的“取消”进行确认和验证时,它仍会将字段值设置为“已完成”。有没有理由不设置字段值?这是我的密码:

function confirmTaskStatus() {
if (Xrm.Page.getControl("moc_taskstatus").getDisabled()){
    var taskStatusValue;
    var message = "Do you want to set this Task to Completed? 
                  You cannot edit, change or add anything to the Project Task fields 
                  once it is set to Completed";

  if (confirm(message) == true) {

      taskStatusValue = 223770000; // Display Label = "Completed" 
      Xrm.Page.getControl("moc_taskstatus").setDisabled(true);

      } else {

      taskStatusValue = 223770001; // Display Label = "In Progress"

    }

    Xrm.Page.getAttribute("moc_taskstatus").setValue(taskStatusValue);


}  
}


function saveTaskStatus() {
window.setTimeout(confirmTaskStatus, 1000);
}

可怜我吧;我对脚本编写和Dynamics CRM仍然很陌生

看起来控件已禁用(通过查看代码段)。 禁用的属性
SubmitMode
设置为false,这意味着CRM将忽略对属性的任何更新,除非在值更新后通过调用强制CRM保存该属性

Xrm.Page.getAttribute("moc_taskstatus").setValue(taskStatusValue);
Xrm.Page.getAttribute("moc_taskstatus").setSubmitMode('always');