Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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 CRM 2011-动态更改表单问题-JS错误(无法执行代码…)_Javascript_Dynamics Crm 2011_Crm - Fatal编程技术网

Javascript CRM 2011-动态更改表单问题-JS错误(无法执行代码…)

Javascript CRM 2011-动态更改表单问题-JS错误(无法执行代码…),javascript,dynamics-crm-2011,crm,Javascript,Dynamics Crm 2011,Crm,在表单的onload中,我检查表单的类型,并在此基础上加载正确的表单。这是可行的,但当表单重新加载到新表单时,我得到以下JavaScript错误=>Kan programmacode niet uitvoeren vanuit een vrijgegegeven脚本无法用英语执行已释放脚本中的代码 我使用的代码如下所示: avento_customertypecodeChange = function () { var lblShow = "information"; var p

在表单的onload中,我检查表单的类型,并在此基础上加载正确的表单。这是可行的,但当表单重新加载到新表单时,我得到以下JavaScript错误=>Kan programmacode niet uitvoeren vanuit een vrijgegegeven脚本无法用英语执行已释放脚本中的代码

我使用的代码如下所示:

avento_customertypecodeChange = function () {
    var lblShow = "information";
    var picklistName = Xrm.Page.getAttribute("customertypecode").getSelectedOption().text.toLowerCase();
    if (picklistName.contains("hc")) {
        lblShow = "information hc";
    }
    else {
        lblShow = "information";
    }

    var newIndex = -1;

    var currentName = Xrm.Page.ui.formSelector.getCurrentItem().getLabel().toLowerCase();
    if (currentName != lblShow) {
        Xrm.Page.ui.formSelector.items.forEach(function (item, index) {
            var itemLabel = item.getLabel().toLowerCase();
            if (itemLabel == lblShow) {
                newIndex = index;
            }
        });
    }

    if (newIndex != -1) Xrm.Page.ui.formSelector.items.get(newIndex).navigate();
}

两个表单都引用相同的JavaScript文件。这就是问题所在吗?在没有这个错误的情况下,实现这一目标的最佳方法是什么?我在这上面搜索了几个小时,但我还没有找到一个好的解决方案,我仍然有那个恼人的错误!我希望你们已经遇到了这个问题,并且能够帮助我。

我使用了一些技巧解决了这个问题,但它不受支持:

我将新的FormID写入数据库 我刷新整个页面 页面会记住它是什么表单,并打开正确的表单 缺点:

在创建时,我们应该采取什么形式?=>如果表单希望自动更改,您将看到“放弃/保存更改”屏幕。。。 它不受支持 我认为出现上述错误是因为我们希望在从表单切换时多次打开相同的Javascripts webresources


你们中有没有人有正确的方法进行动态表单切换?

我不太清楚错误消息。如果您在IE中,请按F12打开开发人员工具,并在脚本选项卡下调试javascipt。它可能会帮助你找出哪里出了问题。如果我不得不猜测,您的表单是否也执行相同的代码,如果是,是否有表单客户类型字段??是的,它使用相同的JS webresource,并且有客户类型字段。单独打开两个窗体时,两个窗体都能正常工作。只是动态切换造成了错误。如果我用Dropdownlist以正常方式更改表单,我不会得到错误…问题是当我们导航到另一个表单时,它应该重新加载整个页面。我不知道微软自己是如何让abel导航到另一个表单的,当他们从选择列表中的表单更改为可用表单时…你能发布你的javascript web资源的其余部分吗,是否还有其他加载时启动的功能?是的,有许多函数需要在onload中执行。我尝试执行的第一个函数是表单更改函数。但这不起作用,所以我尝试将其设置为超时,但仍然会出现相同的错误。当我只在avento_formOnload中添加表单更改功能时,它也给了我一个错误,您可以单击发送错误报告或不发送。我在onload上调用的函数如下:avento_formOnload=function{…functions…}