CRM 2011"$未定义"

MAX*_*AXA 13 javascript crm dynamics-crm dynamics-crm-2011

我创建了以下代码,并将其作为Web资源包含在CRM 2011表单上,以便在查找字段的字段onchange事件上调用.$.ajax({...在行之前一切正常,然后我有一个错误" $未定义".我不太熟悉脚本,所以请帮忙.

function GetAddress() {

    var accountId;
    var dataArray;
    var accountRequestUrl;

    if (crmForm.all.regardingobjectid.DataValue != null) {

        dataArray = crmForm.all.regardingobjectid.DataValue;
        accountId = dataArray[0].id;

        if (typeof GetGlobalContext == "function") {
            var context = GetGlobalContext();
            accountRequestUrl = context.getServerUrl();
        }
        else {
            if (typeof Xrm.Page.context == "object") {
                accountRequestUrl = Xrm.Page.context.getServerUrl();
            }
        }

        accountRequestUrl = Xrm.Page.context.getServerUrl();
        accountRequestUrl += "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" +
            accountId + "')";

        crmForm.all.maxlife_addressname.DataValue = accountRequestUrl;

        GetAccountRecord(accountRequestUrl);
    }
    else {
        alert("null");
    }

}

function GetAccountRecord(accountRequestUrl) {

    $.ajax({
        type: "GET",
        url: accountRequestUrl,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error: function (request, textStatus, errorThrown) {
            alert("Error occurred: " + request.responseXML + "from url " + requestUrl);
            return;
        },
        success: function (data) {
            var results = data.d["results"];
            var AccountValue = new Array();
            for (resultKey in results) {
                AccountValue.push(results[resultKey]);
            }

            FillValues(AccountValue);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

Pol*_*ant 25

$是jQuery的简写.jQuery本身并不包含在CRM2011中,因此您必须自己添加Web引用.只需为jQuery创建JavaScript Web资源,粘贴jQuery代码,然后将Web资源添加到表单中.此外,为了在您的表单上加载Web资源,您需要为CRM指定一个函数来从中调用.因为在这种情况下jQuery是一个库,你不会调用它的任何函数onload,只需使用isNaN(本机JavaScript函数)作为调用函数.

  • 如果从窗体控件的'OnChange'事件调用此脚本,则无需调用任何on-form-load.只需将脚本添加到表单中,就会按照它们在表单脚本自定义网格中显示的顺序自动加载它们.只有在功能区脚本具有依赖脚本时,才需要调用函数来确保加载脚本.(我希望很清楚我在说什么) (5认同)
  • 这篇文章应该可以帮助你完成大部分工作.如果您仍需要更多帮助,我会尝试稍后发布其他信息.http://gtcrm.wordpress.com/2011/02/15/creating-crm-records-from-jscript-in-2011using-the-rest-end-point/ (3认同)