Значение DataValue поля Lookup всегда равно null - PullRequest
0 голосов
/ 12 февраля 2010

Я использую MS CRM 4 в IE8.

В форме «Заказать продукт» я пытаюсь использовать событие OnChanged поля «Количество», чтобы предоставить пользователю некоторую обратную связь на основе текущего значения поля поиска «Продукт».

Моя проблема в том, что независимо от того, что я делаю, свойство поля DataValue имеет значение всегда ноль.

Вот javascript, с которым я тестирую:

if (crmForm.all.productid_d.DataValue == null)
    alert('DataValue is null');
else
{
    alert ('DataValue is non-null');
    alert('Length: ' + crmForm.all.productid_d.DataValue.Length);
}

Обратите внимание, что я проверил, что crmForm.all.productid_d определенно не равен NULL, и что он содержит интересующие меня значения. Из окна разработчика IE8:

<td id="productid_id">
    <table width="100%" class="ms-crm-Lookup" style="table-layout: fixed;" cellSpacing="0" cellPadding="0">
        <tbody>
            <tr>
                <td>
                    <div tabIndex="1011" class="ms-crm-Lookup " style="width: 100%;" ime-mode="auto">
                        <span class="ms-crm-Lookup-Item" contentEditable="false" onclick="openlui()" otypename="product" otype="1024" oid="{DA770EAE-A4FB-DD11-BBD6-001A646872CF}" data="" ?="">
                            <img class="ms-crm-Lookup-Item" alt="" src="/_imgs/ico_16_1024.gif" complete="complete" imageSrc="/_imgs/ico_16_1024.gif"/>
                            Text - Travel Expenses
                            <a tabIndex="-1" title="Travel Expenses" class="atLink" id="at{DA770EAE-A4FB-DD11-BBD6-001A646872CF}" contentEditable="false" onclick="return false;" href="javascript:onclick();" target="_self"/>
                            <b class="IMG_lu_htc_b"/>

В приведенном выше коде запись «Расходы на командировку» мне интересна для чтения из поля «Поиск».

Однако - даже если в поле «Уточняющий запрос» определенно есть значение, значение Datavalue по-прежнему возвращает ноль.

Мой JavaScript выглядит правильным для меня на основе примеров, которые я могу найти, и я подтвердил, что crmForm.all.product_d существует и не является нулевым.

Есть мысли о том, что происходит?

1 Ответ

4 голосов
/ 12 февраля 2010

Вы хотите crmForm.all.productid, а не crmForm.all.productid_d. В реальном HTML будет поле с именем productid_d, и, хотя оно может иметь желаемое значение, если вы обращаетесь к нему из коллекции crmForm.all, просто используйте имя атрибута.

...