Предположим, у меня есть DevExpress ASPxTextBox с идентификатором "tool". Я хочу получить доступ к значению текстового поля на стороне клиента. Поэтому мне нужно написать JavaScript.
Если бы это было обычное текстовое поле asp, я мог бы получить доступ к текстовому полю, написав код, подобный
var instrumentElement = document.getElementById('<%=instrument.ClientID%>')
Но тот же подход не работает для текстовое поле DevExpress.
Как я могу получить доступ к ASPxTextBox? Я использую Developer Express версии 7.2.
Вот более подробный фрагмент кода -
<div style="display: inline; float: left;">
<dxe:ASPxTextBox ID="InstrumentQuantity" runat="server" Width="170px">
</dxe:ASPxTextBox>
</div>
<div style="display: inline; float: left;" onclick="incOrDecQty(0);">
<asp:ImageButton ID="decrementQuantity" runat="server"
Height="16px" Width="16px" ImageUrl="~/images/left.png"
AlternateText="Decrease Quantity" PostBackUrl="javascript:void(0);"/>
</div>
<div onclick="incOrDecQty(1);">
<asp:ImageButton ID="incrementQuantity" runat="server"
AlternateText="Increase Quantity" ImageUrl="~/images/right.png"
Height="16px" Width="16px" PostBackUrl="javascript:void(0);" />
</div>
Это был код ASP. Соответствующий Javascript выглядит следующим образом:
function incOrDecQty()
{
var element = document.getElementById('<%=InstrumentQuantity.ClientID%>');
var lotSize = parseInt(document.getElementById('<%=LotSize.ClientID%>')
.innerHTML, 10);
var currentValue = parseInt(element.value,10);
if(arguments[0] == 1)
currentValue += lotSize;
else if((currentValue - lotSize) >= 0 )
currentValue -= lotSize;
element.value= currentValue;
}