Giả sử tôi có một DevExpress ASPxTextBox có id là "công cụ". Tôi muốn truy cập vào giá trị của hộp văn bản ở phía máy khách. Vì vậy, tôi cần phải viết một javascript.Cách truy cập giá trị của một ASPxTextBox từ JavaScript
Nếu đó là một hộp văn bản asp bình thường, tôi có thể đã truy cập vào hộp văn bản bằng cách viết mã như var instrumentElement = document.getElementById('<%=instrument.ClientID%>')
Nhưng phương pháp tương tự là không làm việc cho Text Box của DevExpress.
Tôi làm cách nào để truy cập ASPxTextBox? Tôi đang sử dụng Developer Express phiên bản 7.2.
Dưới đây là một số đoạn mã triệt để hơn -
<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>
Đó là Mã ASP. Javascript tương ứng như sau:
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;
}
Chỉ cần nhận ra rằng chức năng khách hàng GetValue() có thể không có trong phiên bản của bạn. Nếu không, bạn có thể thử MyTextBox.GetText(). – AGoodDisplayName
Tôi ghét nội dung 'ClientInstanceName'. Nó hoạt động đáng tin cậy chỉ cho các điều khiển nguyên gốc không lồng nhau .. Tôi khuyên bạn nên sử dụng tra cứu ClientID thay thế. (Tất cả các điều khiển DX "thêm" mình vào 'cửa sổ' bởi ClientId của họ:' window [theClientId] .SetText (..) ') –