Как получить доступ к значению ASPxTextBox от JavaScript

Предположим, что у меня есть DevExpress ASPxTextBox, идентификатор которого является "инструментом". Я хочу получить доступ к значению текстового поля в стороне клиента. Таким образом, я должен записать JavaScript.

Если это было нормальное текстовое поле asp, я, возможно, получил доступ к текстовому полю написанием кода как

var instrumentElement = document.getElementById('<%=instrument.ClientID%>')

Но тот же подход не работает на Текстовое поле DevExpress.

Как я могу получить доступ к ASPxTextBox? Я использую Версию 7.2 Developer Express.

Вот некоторый более полный фрагмент кода -

<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;            
}
5
задан MD Sayem Ahmed 20 June 2013 в 10:29
поделиться

3 ответа

Вы можете установить свойство ClientInstanceName на AspxTextBox.

<dxe:ASPxTextBox ID="InstrumentQuantity" 
 runat="server" Width="170px" 
 ClientInstanceName="MyTextBox"> 
</dxe:ASPxTextBox> 

ClientSide:

function DoSomething()
{
    var theText = MyTextBox.GetValue(); //GetValue() is the DevExpress clientside function

    MyTextBox.SetValue('this is the value i want to use'); //Sets the text

}

Девкспресс-документация имеет довольно хорошую информацию о скриптах клиентской стороны. Перейдите по этой ссылке , щелкните по ссылке, затем щелкните DevExpress.Web.ASPxEditors.Scripts в меню.

7
ответ дан 13 December 2019 в 22:07
поделиться

Возможно, что текстовое поле третьей стороны не использует ClientID. Вы можете попробовать UniqueID, хотя это может быть не всемирно приемлемым исправлением (может не работать во всех браузерах).

1
ответ дан 13 December 2019 в 22:07
поделиться

Вот все методы и события на стороне клиента в ASPxTextBox.

http://www.devexpress.com/Help/?document=ASPxEditors/DevExpressWebASPxEditorsScriptsASPxClientTextBox_ctortopic.htm

2
ответ дан 13 December 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: