获取属性值未定义或在Dynamics CRM 2011中调用JavaScript时出现null错误

时间:2013-07-23 06:09:28

标签: javascript dynamics-crm-2011

今天刚刚开始使用Javasript + Dynamics 2011,并开始陷入困境。我一直在尝试简单的步骤如下 1.更改单选按钮上的值 2.从Javascript调用函数,该函数将设置两个字段启用和禁用

代码如下

function navenabled()
{

    var navdata = Xrm.Page.getAttribute("new_currentnavclient").getValue;

    if (navdata == true)
    {
        Xrm.Page.getControl(“new_noofusers”).setDisabled(true);
        Xrm.Page.getControl(“new_navversion”).setDisabled(true);
    }
    else
    {
        Xrm.Page.getControl(“new_noofusers”).setDisabled(false);
                Xrm.Page.getControl(“new_navversion”).setDisabled(false);
    }

}

更改“当前导航客户端”字段

上的值时出现以下错误

enter image description here

另请参阅我为JavaScript调用执行的步骤

enter image description here

有人可以告诉我哪里做错了。

2 个答案:

答案 0 :(得分:3)

第一个问题在于这一行:

var navdata = Xrm.Page.getAttribute("new_currentnavclient").getValue;

getValue是一种方法,所以正确的方法是getValue()

var navdata = Xrm.Page.getAttribute("new_currentnavclient").getValue();

第二个问题是所有getControl行,您使用的是智能引号

“ ”

相反,您需要使用简单的引号,因此您的代码将是:

function navenabled()
{

    var navdata = Xrm.Page.getAttribute("new_currentnavclient").getValue();

    if (navdata == true)
    {
        Xrm.Page.getControl("new_noofusers").setDisabled(true);
        Xrm.Page.getControl("new_navversion").setDisabled(true);
    }
    else
    {
        Xrm.Page.getControl("new_noofusers").setDisabled(false);
        Xrm.Page.getControl("new_navversion").setDisabled(false);
    }

}

答案 1 :(得分:0)

您可以尝试使用document.getElementById(“fieldname”)。checked属性。这个值总是准确的。