2013-03-21 48 views
3

从IE浏览器以外的浏览器打开时,XRM表单发生错误。您可以在图片链接上看到无用的消息。XRM setDisable()在IE以外的浏览器上不起作用

enter image description here

误差不清楚,所以我调试它,它使我的错误就在页面加载JavaScript函数。 它不能使用正确的XRM setDisabled()函数:

Xrm.Page.getControl("simpeg_tipelokasi").setDisabled(true); 

在IE它的工作原理和字段被禁用,但奇怪的是它无法在Chrome和Firefox的工作。你能帮我弄清楚为什么它不适用于这些浏览器?非常感谢!

编辑:

我的坏,它实际上是它位于两个浏览器对setDisabled功能的ActiveX配置和内的问题。前段时间调试时我一定错过了它。 查看这个网址我的新职位: Alternative to XRM Javascript calling webservice using ActiveX

回答

1

您需要将组织的汇总更新到至少12(此刻最新)。不过,我很惊讶,你竟然得到了错误。使用不受支持的浏览器时,您应该无法登录并显示“主要”表单。

编辑:

绝对不RU12和浏览器品牌的问题。我刚刚创建了一个新组织,并通过网络资源添加了以下功能。

function disableFullNameOnLoad(){ 
    Xrm.Page.getControl("fullname").setDisabled(true); 
    alert("Full name disabled on load."); 
} 

function enableFullNameOnSave(){ 
    Xrm.Page.getControl("fullname").setDisabled(false); 
    alert("Full name enabled on save."); 
} 

正如命名所暗示的,禁止在窗体的的onload执行和实现其的OnSave。我使用FF,IE和Cr​​进入CRM(RU12,OP)。行为是一致的 - 灰色全名当我打开窗体,可编辑当我保存它。

因此,无论您的平台上存在什么问题,它都与跨浏览器不兼容性没有直接关系。你可以再次检查一下,当你添加我的示例中的确切代码时,IE和FF之间的行为差​​异,请按照我所描述的方式与事件相连。

+0

它实际上工作,并在某些形式上运行良好,但在这一个有这个问题。我知道,即使应用程序不会加载,如果汇总还没有被应用,所以我想问题在于我的代码。 – 2013-03-25 04:36:58

+0

@GilangBhagaskara看我的编辑。 – 2013-03-25 10:31:57

+0

感谢您的回复。我重新检查了我的代码,结果证明问题并不是因为setDisabled(我的不好,很抱歉!)。 它实际上是因为调用Web服务时窗体的ActiveX,因为Chrome/Firefox无法创建新的ActiveX实例。我将编辑/发布有关此错误的新问题。抱歉误导性的问题,但感谢您的帮助! – 2013-03-26 08:43:15

2

尝试使用XrmServiceToolKit新版本应该支持跨浏览器的兼容性:

http://xrmservicetoolkit.codeplex.com/

+0

谢谢,我会查找它。这似乎是目前XRM定制的最佳选择之一。 – 2013-03-25 04:28:12

2

如果您目前还没有对汇总12之后,Chrome不正式支持。

如果可以,那么我会尝试升级以获得通过Rollup 12提供的新的跨浏览器支持。请确保您检查了code validation tool以确保您的代码和自定义设置没有任何问题。

如果这不是一个选项,那么你可以尝试xrmservicetoolkit这是一个CRM JavaScript库。

+1

嗨,感谢您对代码验证工具和JavaScript库的建议。在Rollup 12发布之前,我们的开发已经停止,但在发布后继续进行,正如预期的那样,我们发现了几个问题,其中之一就是这一个。很不幸,大部分工具包最近才发布,我们不得不应对定制的库。 – 2013-03-25 04:31:08

相关问题