Comment accéder à la valeur d'un ASPxTextBox à partir de JavaScript
Supposons que j'ai un DevExpress ASPxTextBox dont l'id est "instrument". Je veux accéder à la valeur de la zone de texte à côté client. Donc j'ai besoin d'écrire un script javascript.
Si c'était normal asp zone de texte, j'ai pu avoir accédé à la zone de texte par l'écriture de code comme
var instrumentElement = document.getElementById('<%=instrument.ClientID%>')
Mais la même approche ne fonctionne pas pour le DevExpress de la Zone de Texte.
Comment puis-je accéder à un ASPxTextBox ? Je suis à l'aide de Developer Express Version 7.2.
Voici quelques plus approfondie extrait de code -
<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>
Qui a été le Code ASP. Le Javascript correspondant est comme suit :
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;
}
OriginalL'auteur MD Sayem Ahmed | 2010-02-04
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir la ClientInstanceName bien sur la AspxTextBox.
Client:
Devexpress documentation a pas mal d'info sur leurs scripts côté client. Allez à cette lien, cliquez sur la Référence, puis cliquez sur DevExpress.Web.ASPxEditors.Les Scripts dans le menu.
Je déteste le
ClientInstanceName
choses. Il fonctionne de manière fiable uniquement pour les primitives non-imbriquées contrôles .. je vous conseille d'utiliser un ClientID de recherche à la place. (Tous les DX contrôles "ajouter" eux-mêmes àwindow
par leur ClientId:window[theClientId].SetText(..)
)OriginalL'auteur AGoodDisplayName
Ici sont tous du Côté Client, les méthodes et les événements sur le ASPxTextBox.
http://www.devexpress.com/Help/?document=ASPxEditors/DevExpressWebASPxEditorsScriptsASPxClientTextBox_ctortopic.htm
OriginalL'auteur Gary L Cox Jr
Il est possible que la troisième partie de zone de texte ne fait pas usage de la ClientID. Vous pouvez essayer de id unique, même si cela peut ne pas être acceptables à l'échelle mondiale fix (peut ne pas fonctionner dans tous les navigateurs).
Elle aussi ne fonctionne pas dans IE 5.1
ClientID devrait travailler avec le ASPxTextBox de contrôle. La documentation du produit indique qu'il est hérité de zone de texte et laissé seul. Si l'approche n'est pas de travail, je dirais il y a autre chose là-dedans qui est de le prévenir. Peut-être plus approfondie extrait de code pourrait aider?
OriginalL'auteur Joel Etherton