Я использую MS CRM 4 в IE8.Поле DataValue поиска всегда равно
В форме заказа, я пытаюсь использовать событие OnChanged в поле Quantity, дайте некоторую обратную связь пользователю в зависимости от текущего значения поля поиска продукта.
Моя проблема заключается в том, что независимо от того, что я делаю, свойство DataValue этого поля равно null.
Вот 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 определенно не равен нулю, и что он содержит значения Я заинтересован. Из окна разработчиков Internet Explorer 8:
<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 по-прежнему возвращает null.
Мой JavaScript выглядит правильно для меня на основе примеров, которые я могу найти, и я подтвердил, что crmForm.all.product_d существует и не является нулевым.
Любые мысли о том, что происходит?
сторона примечание: crmForm.all не является стандартным способом доступа к элементам в javascript. Предлагаем использовать либо document.getElementById (id), либо document.forms ['crmForm']. Elements ['yourElementName'] – scunliffe
Спасибо за подсказку - я подкорректирую его завтра. –
Однако crmForm.all * - это стандартный способ доступа к нему в CRM. Это также легче писать, читать легче и что вы увидите во всем примере кода, на который вы смотрите. Я бы придерживался его для согласованности, если ничего другого. –