Javascript setSubmitMode方法在用户之间的行为不同

Javascript setSubmitMode方法在用户之间的行为不同,javascript,dynamics-crm-2011,outlook-2010,Javascript,Dynamics Crm 2011,Outlook 2010,我有两个自定义选择列表:类型和持续时间。类型拾取列表有两个选项,持续时间有三个选项。根据他在类型选择列表中选择的内容,两个变量之一将传递到OOTB描述文本框。根据他在两个选择列表中选择的内容,六个变量中的一个将传递到自定义保修文本框。这两个文本框都是可编辑的,因此他可以根据需要调整段落长度变量 问题1:setSubmitMode方法最初不存在。当它不存在时,他无法修改报价。 解决方案1:我在OnChange事件中将setSubmitMode设置为“始终” 问题2:当他试图修改报价时,会抛出只读错

我有两个自定义选择列表:类型和持续时间。类型拾取列表有两个选项,持续时间有三个选项。根据他在类型选择列表中选择的内容,两个变量之一将传递到OOTB描述文本框。根据他在两个选择列表中选择的内容,六个变量中的一个将传递到自定义保修文本框。这两个文本框都是可编辑的,因此他可以根据需要调整段落长度变量

问题1:setSubmitMode方法最初不存在。当它不存在时,他无法修改报价。 解决方案1:我在OnChange事件中将setSubmitMode设置为“始终”

问题2:当他试图修改报价时,会抛出只读错误,但仍允许他修改并保存报价。 解决方案2:我在OnChange事件中将setSubmitMode设置为“dirty”,并添加了一个OnSave事件,其中setSubmitMode设置为“always”

问题3:当他试图修改报价时,会出现一个“是否保存更改”对话框。当他点击“是”时,他所做的更改将被删除,当他点击“否”时,引用允许他修改它我无法生成用户获得的对话框。

我们已经在CRM for Outlook和浏览器中尝试了这一点

如果它有助于了解,在我们的两个设置中,它似乎打开了一个新的报价窗口。但是,在我的中,新窗口立即关闭,而Outlook中没有对话框。但在浏览器中,它也会关闭原始表单。(这并不理想,但仍然比他得到的要好。)

谢谢和问候,
我不确定是否完全理解您的问题,但对于这类问题,我总是使用相同的解决方案。在OnSave事件中,我使用以下代码保存javascript编辑的只读字段:

 if (Xrm.Page.getAttribute("my_field").getIsDirty()) {
    Xrm.Page.getAttribute("my_field").setSubmitMode("always");
 }
没有设置SubmitMode(“脏”),或其他任何内容。甚至在onChange事件上

我希望它有帮助,否则不要犹豫,添加更多关于您的流程的信息


凯文

我不确定是否完全理解您的问题,但对于这类问题,我总是使用相同的解决方案。在OnSave事件中,我使用以下代码保存javascript编辑的只读字段:

 if (Xrm.Page.getAttribute("my_field").getIsDirty()) {
    Xrm.Page.getAttribute("my_field").setSubmitMode("always");
 }
没有设置SubmitMode(“脏”),或其他任何内容。甚至在onChange事件上

我希望它有帮助,否则不要犹豫,添加更多关于您的流程的信息

凯文