Supponiamo di avere un ASPexTextBox DevExpress il cui id è "strumento". Voglio accedere al valore della casella di testo sul lato client. Quindi ho bisogno di scrivere un javascript.Come accedere al valore di un ASPxTextBox da JavaScript
Se fosse una normale casella di testo asp, avrei potuto accedere alla casella di testo per la scrittura di codice come var instrumentElement = document.getElementById('<%=instrument.ClientID%>')
Ma lo stesso approccio non funziona per casella di testo del DevExpress.
Come accedere a un ASPxTextBox? Sto usando Developer Express versione 7.2.
Ecco il codice più approfondita frammento -
<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>
Questo è stato il codice ASP. Il corrispondente Javascript è il seguente:
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;
}
Appena realizzato che la funzione client GetValue() potrebbe non essere presente nella tua versione. Se non lo è, puoi provare MyTextBox.GetText(). – AGoodDisplayName
Odio le cose 'ClientInstanceName'. Funziona in modo affidabile solo per i controlli primitivi non annidati. Raccomanderei invece di utilizzare una ricerca ClientID. (Tutti i controlli DX "si aggiungono" a 'window' dal ClientId:' window [theClientId] .SetText (..) ') –