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