怎样限制textarea的行数?

禁止用户超过指定的行数,超过的部分禁止再输入,得用哪种方法呢?

阅读 25.3k
6 个回答

用css吧

直接写width和height,比如显示3行,那就height: 48px; line-height: 16px;也就是说height应该是line-height的行数倍。

超出时如果不需要滚动条,可用overflow: hidden; 默认为auto自动。

另外chrome中textarea可以用鼠标拖动右下角改变大小,想屏蔽可以用resize: none;

----------------------------------

keyup事件,判断\n的个数N,N+1为行数,超出时把\n后面的字符去掉即可。

禁止用户超过指定的行数,超过的部分禁止再输入

很不好的体验,从常用的用户角度出发,编辑长文字很不舒服

可以看看微博是怎么限制字符的吧

<textarea rows="5" cols="10"></textarea>

一般都会用字数来做限制的把。。。
行数限制没啥意义。。。

我不知道说的对不对。
不过我想,可以尝试限定cols还是rows(忘了),用JS判断是否出现滚动条,如果出现就删除直接滚动条没有(onkeyup事件应该可以监测)
不过对于chrome应该无效吧

限制字数只能通过JS事件控制,CSS只能控制外观,不能控制字数的多少。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题