2010-06-04 4 views
0

javascript 함수에 ASP 컨트롤 (텍스트 상자)을 보내려고합니다.javascript에 ASP 컨트롤을 보내는 방법

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

이 작업을 수행하는 올바른 방법입니다. 상황에

+0

에 onblur 이벤트가 발사되는 것과 다른 텍스트 상자는 txtLossRatioCurrentYear이다 ectly 당신의 JS-기능 (다른 텍스트 상자는 질문로부터 명확하지가있는 경우)? –

답변

0

다음과 같이 할 수있는 :

<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

다른 텍스트 상자도 보내고 싶습니다. 그래서 나는 이것을 사용할 수 없을 것이다. –

+0

@vaibhav : 나는 당신이 var txtbox = document.getElementById ("txtLossRatioCurrentYear"); 두 번째 텍스트 상자에 대한 ... –

+0

하지만이 함수를 일반화해야합니다. 자바 스크립트 함수에 다른 텍스트 상자를 보내려고합니다. –

0

그게 전부는 당신이 실제로하고있는 것은 생성하여 런타임에 대체 할 것 처리기 지시문

<%=txtLossRatioCurrentYear.ClientID%>를 사용하여가, 허용 컨트롤의 ID, this.value을 전달하면 컨트롤의 참조를 전달하지만 여전히 var txtbox = document.getElementById(controlid);을 사용하여 얻을 수 있습니다.

0

참조를 보낸 사람 디렉토리

onblur="CalculateLossRatio(this)" 

function CalculateLossRatio(txtBox) 
{ 
    if(txtBox != null){ 
     var text=txtBox.value; 
    } 
} 
관련 문제