2012-02-14 9 views
0

テキストボックスの文字数の制限私が直面している問題は、テキストボックスがデータリスト内で動的に生成され、クライアント側のIDが静的Javaスクリプトを適用するには、私はクライアントのID静的な私はasp.net 3.5を使用していない4.0このための任意のソリューションが必要です。ダイナミックに生成されたテキストボックスのasp.net 3.5のクライアントIDの静的設定

<script language="JavaScript" type="text/javascript"> 


     function textCounter(field, countfield, maxlimit) { 
      if (field.value.length > maxlimit) // if too long...trim it! 
       field.value = field.value.substring(0, maxlimit); 

      else 
       countfield.value = maxlimit - field.value.length; 
     } 

    </script> 


function textCounter(field, countfield, maxlimit) { 
    if (field.value.length > maxlimit) // if too long...trim it! 
     field.value = field.value.substring(0, maxlimit); 
    else 
     countfield.value = maxlimit - field.value.length; 
} 



    <textarea name="message" id="txtAnswerMain" runat="server" value='<%#Eval("abc") %>' wrap="physical" cols="28" rows="4" 
onkeydown="textCounter(this.form.message,this.form.remLen,125);" 

onkeyup="textCounter(this.form.message,this.form.remLen,125);"> 
</textarea> 
+0

私たちあなたを助けるためにいくつかのコードので、あなたはどのように方法はあり下さい – Aristos

+0

Addy

答えて

0

Control.ClientIDでコントロールのIDを取得できます。あなたはそれをjavascriptに渡します。たとえば:

<textarea name="message" id="txtAnswerMain" runat="server" 
     value='<%#Eval("abc") %>' wrap="physical" cols="28" rows="4" 
     onkeydown="textCounter(<%=txtAnswerMain.ClientID%>,125);" 
     onkeyup="textCounter(<%=txtAnswerMain.ClientID%>,this.form.remLen,125);"> 
</textarea> 

function textCounter(controlID, countfield, maxlimit) { 
     var field = document.getElementById(controlID); 
     if (field.value.length > maxlimit) // if too long...trim it! 
      field.value = field.value.substring(0, maxlimit); 

     else 
      countfield.value = maxlimit - field.value.length; 
    } 
+0

テキストボックスのテキストボックスのIDは、データリスト内に動的に生成され、同じままです。 – Addy

+0

ホーガンは、テキストボックスがデータリスト内で動的に作成された場合の解決策を教えてください。 – Addy

+0

@ user1045788 - 私が投稿したメソッドはまだうまく動くかどうかは分かりません。 – Hogan

関連する問題