在asp.net 3.5中为动态生成的文本框设置客户端id static

本文关键字:文本 设置 客户端 static id net asp 动态 | 更新日期: 2023-09-27 18:24:45

在文本框上应用字符限制我面临的问题是,文本框是在数据列表中动态生成的,客户端id不会保持静态以应用java脚本。我需要客户端id静态。我使用的是asp.net 3.5而不是4.0任何解决方案。

<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>

在asp.net 3.5中为动态生成的文本框设置客户端id static

您可以使用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;
    }