2010-06-04 4 views
0

J'essaye d'envoyer un contrôle d'asp (zone de texte) à une fonction de javascript.Comment envoyer un contrôle d'asp à javascript

onblur="CalculateLossRatio(this.value,<%=txtLossRatioCurrentYear.ClientID%>)" 

Est-ce la bonne façon de procéder?

+0

est txtLossRatioCurrentYear une autre zone de texte que celui de l'événement onblur est tiré à partir? –

Répondre

0

Dans votre situation, vous pouvez faire quelque chose comme ce qui suit:

<asp:TextBox ID="TextBox1" onblur="CalculateLossRatio(this.value, 1)" runat="server" /> 
<asp:TextBox ID="TextBox2" runat="server" Text="7"/> 

<script type="text/javascript"> 

function CalculateLossRatio(arg1, arg2) 
{ 
    if (arg2 == 1) 
    { 
     var txt = document.getElementById('<%=TextBox2.ClientID%>'); 
    } 
    else if(arg2 == 2) 
    { 
     // TODO - get other txt... 
    } 

    alert(arg1 - txt.value); 
} 

</script> 
+0

Je veux envoyer un autre textbox aussi. Donc, je ne serais pas capable d'utiliser (ceci). –

+0

@vaibhav: Je pense que vous feriez mieux d'aller avec var txtbox = document.getElementById ("txtLossRatioCurrentYear"); pour la deuxième zone de texte ... –

+0

Mais j'ai besoin de généraliser cette fonction. Je veux envoyer différents textbox à la fonction javascript. –

0

des thats est acceptable, ce que vous êtes en train de faire, il utilise une directive préprocesseur

<%=txtLossRatioCurrentYear.ClientID%> sera substitut à l'exécution par le produit ID du contrôle, en passant this.value passera la référence du contrôle, mais vous pouvez toujours l'obtenir en utilisant le var txtbox = document.getElementById(controlid);

0

Vous pouvez envoyer la référence au répertoire de l'expéditeur ectement à votre js-fonction (ce ne est pas clairement question s'il y a une autre zone de texte):

onblur="CalculateLossRatio(this)" 

function CalculateLossRatio(txtBox) 
{ 
    if(txtBox != null){ 
     var text=txtBox.value; 
    } 
} 
Questions connexes