Supposons que j'ai un DevExpress ASPxTextBox dont l'identifiant est "instrument". Je veux accéder à la valeur de la zone de texte du côté client. J'ai donc besoin d'écrire un javascript.Comment accéder à la valeur d'un ASPxTextBox à partir de JavaScript
Si c'était une zone de texte asp normal, je aurait pu accéder à la zone de texte en écrivant du code comme var instrumentElement = document.getElementById('<%=instrument.ClientID%>')
Mais la même approche ne fonctionne pas pour la zone de texte du DevExpress.
Comment puis-je accéder à un ASPxTextBox? J'utilise Developer Express Version 7.2.
Voici un code plus complet snippet -
<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>
C'était le code ASP. Le Javascript est la suivante correspondant:
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;
}
Je viens de réaliser que la fonction client GetValue() n'a peut-être pas existé dans votre version. Si ce n'est pas le cas, vous pouvez essayer MyTextBox.GetText(). – AGoodDisplayName
Je déteste le truc 'ClientInstanceName'. Il fonctionne de manière fiable uniquement pour les contrôles primitifs non imbriqués. Je recommande d'utiliser une recherche de clientID à la place. (Tous les contrôles DX "s'ajoutent" à 'window' par leur ClientId:' window [theClientId] .SetText (..) ') –