我在我的网站上有几个区域,我需要将文本输入限制为X个字符数量,并且很好地显示用户输入时留下的空格,如twitter。
我发现这个jQuery插件
jquery max-length plugin
它只是我需要的,但它似乎像过度杀戮,我不知道文件大小,但它看起来像很多代码行这样一个简单的任务,你认为我会更好的使用非jquery方法?我认为jquery的原因是因为jQuery已经包含在我的所有页面中,所以要去的方式
更新;
我刚刚发现这个非jquery方法是完全一样的事情是,更小的占位面积,那么这将是更好的方法?
<script language="javascript" type="text/javascript"> function limitText(limitField,limitCount,limitNum) { if (limitField.value.length > limitNum) { limitField.value = limitField.value.substring(0,limitNum); } else { limitCount.value = limitNum - limitField.value.length; } } </script> You have <input readonly type="text" name="countdown" size="3" value="1000"> characters left.
解决方法
很简单的jQuery:
<textarea id="myTextarea"></textarea> <p id="counter"></p> <script type="text/javascript"> $('#myTextarea').keyup(function () { var left = 200 - $(this).val().length; if (left < 0) { left = 0; } $('#counter').text('Characters left: ' + left); }); </script>
用你的限制代替200。
注意这不限制实际的文本输入,它只是倒计时。您需要检查服务器端的输入长度,这只是一个可视帮助器。
除此之外,我不认为你甚至应该尝试通过在达到限制时拒绝任何输入来限制输入长度。这在后方的可用性方面是一个痛苦,不能依赖。简单的倒计时和服务器端检查是IMHO的最佳选择。