2009-06-08 9 views
0

へのパラメータとして、私はこの機能を持っているしたいと思います:パスASP制御javascriptの

function count(inputObj, ouputObj) 
{ 
    outputObj.value = inputObj.value.length; 
} 

そして、私はこの方法でそれを呼び出すしたいと思います:

<asp:TextBox ID="txtUSERGUID" runat="server" onkeyup="count(this, document.getElementById('<%=txtUSERGUIDLength.ClientID%>'));" onkeydown="count(this, document.getElementById('<%=txtUSERGUIDLength.ClientID%>'));" /> 

<asp:TextBox ID="txtUSERGUIDLength" runat="server" /> 

<asp:Label ID="lblUSERGUIDLength" runat="server" Text="chars" /> 

しかし、私はjavascriptのエラーを取得しておきますそれは言う: 'outputObj'は未定義です。このようにこの関数を呼び出すことはできますか、まったく間違った方向に進むことはできますか?

答えて

4

あなたはそれは、サーバー側のコード実行されませんサーバータグのこの内部を持つことはできません:あなたはそれがその後、

<script language='javascript'> 

var g_clientID = '<%=txtUSERGUIDLength.ClientID%>' 

<script/> 

ような何かをやろうとしている場合は

<%=txtUSERGUIDLength.ClientID%> 

をdo:

onclick(this, document.getElementById(g_clientID)) 
1

ページソースを確認すると、「onkeyup」イベントハンドラにはまだサーバーがありますその中にideコードがあります。あなたは、サーバーコントロールのプロパティを設定しているので、「<% =%>」コードが実行されません。あなたがこれを行うには、別のJavaScript関数に移動する必要があります。

0

私は、サーバー側のコントロールのために、このようにパラメータを挿入することができると信じていません。

あなたは、サーバー側のコードでこれらのパラメータを設定することができます。

txtUSERGUID.Attributes.Add("onkeyup", yourEventHandlerScript); 
関連する問題