2012-08-23 5 views
5

Ciao a tutti sto scrivendo il calcolo di vari controlli asp textbox. Voglio che il mio calcolo venga eseguito con l'evento keypress. Sotto codice che sto usando, ma non funziona il fileCome rendere l'evento keypress di asp textbox?

pagina aspx

<asp:TextBox ID="txtMaintCost onkeypress="calculateFinanceDetail(); return false;" runat="server"></asp:TextBox> 

.js

function calculateFinanceDetail() { 
      var txtMaintCost = $('input[id$=txtMaintCost]').val(); 
      var txtInstallCost = $('input[id$=txtInstallCost]').val(); 
      var txtFreightCost = $('input[id$=txtFreightCost]').val(); 
} 

sua non chiamare funzione javascript sulla pressione di un tasto ... se qualcuno ha qualche idea di quanto per favore aiutami in questo ..

risposta

6

Manca " alla fine dell'ID della casella di testo.

Change

<asp:TextBox ID="txtMaintCost onkeypress="calculateFinanceDetail(); return false;" runat="server"></asp:TextBox> 

Per

<asp:TextBox ID="txtMaintCost" onkeypress="calculateFinanceDetail(); return false;" runat="server"></asp:TextBox> 

Provare a utilizzare il ClientID di controlli server. Potresti non avere static ids per i controlli lato server. Non è necessario utilizzare caratteri jolly se sono stati corretti gli ID.

function calculateFinanceDetail() { 
     var txtMaintCost = $('input[id=<%=txtMaintCost.ClientID%>]').val(); 
     var txtInstallCost = $('input[id=<%=txtInstallCost.ClientID%>]').val(); 
     var txtFreightCost = $('input[id=<%=txtFreightCost.ClientID%>]').val(); 
} 
5

Stai mancando citazioni qui ID="txtMaintCost onkeypress=", dovrebbe essere ID="txtMaintCost" "onkeypress="