前台:
<asp:TextBox ID="txtText" runat="server" TextMode="MultiLine" Width="95%" Rows="4" CssClass="txtBoxBreak" ></asp:TextBox>
文本框限制长度,应该要从本质上限制(就是但输入超过maxlength就不让输入),而不是仅仅提示(还需要用户去数超过多少,然后删除),这是非常不友好的。
传统限制长度方法:
1、此方法只是超过一定长度弹出一个提示而已,不是很友好
txtText.Attributes.Add("onblur", "javascript:MaxLength(this," + value.ToString() + ",'输入内容超出限定长度:');");
2、此方法满足了动态限制长度,但是文本内容不能修改,方向键无效等等缺点
txtText.Attributes.Add("onkeydown", "if(this.value.length > " + value.ToString() + "); this.value = this.value.substr(0," + value.ToString() + ");"); txtText.Attributes.Add("onkeyup", "if (this.value.length > " + value.ToString() + "); this.value = this.value.substr (0," + value.ToString() + ");");
改良方法:
txtText.Attributes.Add("onkeyup", "return isMaxLen(this)");
txtText.Attributes.Add("maxlength", value.ToString());
<script type="text/javascript">
function isMaxLen(o){
var nMaxLen = o.getAttribute ? parseInt(o.getAttribute("maxlength")) : "";
if(o.getAttribute && o.value.length>nMaxLen){
o.value=o.value.substring(0,nMaxLen)
}
}
</script>
maxlength=10
<SCrIPT type='"text/javascript"'>function isMaxLen(o){ var nMaxLen=o.getAttribute? parseInt(o.getAttribute("maxlength")):""; if(o.getAttribute && o.value.length>nMaxLen){ o.value=o.value.substring(0,nMaxLen) } }
改进文本框长度限制实现友好用户体验
本文讨论了如何在前端开发中优化文本框长度限制功能,以提供更友好、直观的用户交互体验。通过引入一种改良的方法,该方法不仅实现了动态限制文本长度,还能在用户输入时实时反馈,避免了传统方法的不足,如提示信息不直观、操作复杂等问题。此外,文章还提供了相应的JavaScript代码实现,供开发者参考。
42

被折叠的 条评论
为什么被折叠?



