您的位置:首页 > 其它

20101117 学习记录:textarea的最大输入字数限制

2010-11-17 13:59 239 查看
测试:

第一种方法会限制住指定字符数,再想多输入一个也输不进去,即使是复制也会自动截断,不过这里加了一个alert提醒。可去掉~

缺点是限制住了一些功能,比如 选中输入内容后回车什么的按键失效,而且换行好像也被认为是字符,而且占用的貌似不止一个...

第二种方法不会有第一种那么多限制,不过在多输入限制字符范围外的内容时,会出现一下再被截去,也就是会有点闪。复制同理,会先闪一下再消失。

总体来说还是喜欢第二种,即使会闪一下但是貌似也没什么影响,而且这样用户就知道不能再继续输入了。第一种限制的好严格。有时候键盘的某些键会失灵...

方法1

<textarea maxlength="5" onkeypress="return imposeMaxLength(this)" onblur="ismaxlength(this)"></textarea>

<script type="text/javascript">
function ismaxlength(obj)
{
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength)
alert('MaxLength is '+mlength+".")
obj.value=obj.value.substring(0,mlength)
}

function imposeMaxLength(obj)
{
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
return (obj.value.length <mlength);
}

</script>

方法2

<textarea maxlength="5" onKeyUp="return validateMaxLength(this);" onKeyDown="return validateMaxLength(this);" >

<script type="text/javascript">
function validateMaxLength(parmObject)
{
var mlength = parmObject.getAttribute? parseInt(parmObject.getAttribute("maxlength")) : ""

if (parmObject.getAttribute && parmObject.value.length > mlength)
parmObject.value = parmObject.value.substring(0,mlength)
}
</script>

其他...

html代码<asp:TextBox ID="TextBoxAddress" runat="server" Width="200px"
TextMode="MultiLine" Height="113px" MaxLength="10"></asp:TextBox>

<script language="javascript" type="text/javascript">
SetTextAreaMaxLength('<%=TextBoxAddress.ClientID %>',10);

</script>http://blog.csdn.net/jjkk168/archive/2009/07/25/4380540.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: