编程经验:JavaScript限制textarea/textbox输入长度
2013-06-13 14:34
597 查看
前台:
<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
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) } }
<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
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限制textarea输入长度 (For: IE、Firefox ...)[
- JS限制textbox或textarea输入字符长度
- 用JavaScript限制textarea输入长度 (For: IE、Firefox ...)
- 用JavaScript限制textarea输入长度 (For: IE、Firefox ...)[
- 限制textbox或textarea输入字符长度的JS代码
- 限制textbox或textarea输入字符长度的JS代码
- textarea限制输入长度
- js限制textarea每行输入字符串长度的代码
- 通过javascript输入超过长度限制的密码
- [C#] TextBox限制输入长度(中文字算2码)
- 如何限制textBox输入字符长度?MaxLength属性一下搞定!
- 限制文本域textarea的输入长度
- 用JavaScript脚本实现限定textarea的输入长度代码
- c# 限制textbox的输入范围和长度(长度不用maxlength方法)
- textarea中限制输入字符长度
- 用JavaScript脚本实现限定textarea的输入长度
- 限制文本域textarea的输入字符长度
- textarea限制最大字符长度和默认输入了空格回车的问题
- 文本域textarea输入字符长度限制
- 【项目经验】——文本框限制输入字符长度