`
yelangking
  • 浏览: 21443 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用JavaScript限制TextArea多行文本域的可输入字数

    博客分类:
  • js
 
阅读更多
1.背景
       在开发中遇到一个html的知识,大致需求是这样的:用户信息页面有一栏是用户备注,数据库设计可以存500个字。由于发布时没有把这个TextArea的可输入字数限制住,导致用户在输入超过500个字时程序抛异常,提示操作的数据太大。出了问题不怕,找到问题出现的症结对症下药就能迎刃而解。
2.相关知识点
      1.html 输入元素可输入字符控制。
       2.使用Javascript对TextArea的输入字数进行动态控制。
3.正文
      大家知道,对于普通的文本框,比如<input type="text" name="userName"/>,对于这种的type=“text”的,给相应元素设置一个属性(maxLength=x)即可。第二种实现方式是在表单提交时使用正则表达式进行验证,判断TextArea 的字数是否超出相应的限额,这也算一种方法,不过给人的感觉不好,因为用户在输入的时候并不知道自己还能输入几个字。正是有了这个需求才有了本文,下面结合代码说明如何实现友好的提示。闲言少叙,上代码:
<html>  
   <head>  
   <title>JS限制Textarea文本域字符个数</title>  
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
   <SCRIPT LANGUAGE="JavaScript">  
   <!--//  
   function textCounter(field, countfield, maxlimit) {  
   // 函数,3个参数,表单名字,表单域元素名,限制字符;  
   if (field.value.length > maxlimit)  
   //如果元素区字符数大于最大字符数,按照最大字符数截断;  
   field.value = field.value.substring(0, maxlimit);  
   else  
   //在记数区文本框内显示剩余的字符数;  
   countfield.value = maxlimit - field.value.length;  
   }  
   //-->  
   </SCRIPT>  
   </head>  
   <body>  
    <form name=myform action="">  
        <textarea name="message" cols="28" rows="5" onKeyDown="textCounter(message,remLen,6);" onKeyUp="textCounter(message,remLen,6);"></textarea>  
        您还可以输入:<input name="remLen" type="text" value="6" size="5" readonly="readonly">个字符  
    </form>  
   </body>  
   </html>
,由于功能比较简单,相信各位都能看得懂。这里边最主要的地方就是给相应的TextArea控件绑定检测函数,让用户在输入之后马上可以看到自己还能输入多少字符。据我所知,html5已经将这个考虑进去了,在html5的元素中已经有了maxlength这个属性,如下图:

页面运行截图:

,作为笔记记录以防备忘,也希望能帮到各位同样需求的朋友。html源码可以直接复制或者下载附件。
  • 大小: 171.9 KB
  • 大小: 17.3 KB
0
0
分享到:
评论

相关推荐

    文本域字数限制

    "文本域字数限制"这一主题正是关于如何在文本域中设置并实现这种字数控制功能。 在Web开发中,HTML `&lt;textarea&gt;` 元素用于创建文本域,但HTML本身并不提供内置的字数限制功能。因此,通常需要借助JavaScript或者...

    输入一个字,文本域中显示可输入字数减1

    该功能主要通过JavaScript实现,当用户在文本域中输入字符时,实时计算并更新文本域下方提示的“还可输入字数”。具体来说,是通过监听`onkeydown`事件来触发计算逻辑。 #### 实现原理 - **获取文本域值**:首先,...

    js计算文本域剩余字数

    在网页开发中,文本域(Text Area)是用户输入多行文本的一种常见元素。为了提供良好的用户体验,特别是在有限字数限制的场景下,如微博、评论区等,开发者经常需要实现一个功能,实时显示用户输入的文本所剩余的...

    JS限制Textarea文本域字符个数的具体实现

    在HTML中,我们可以通过`&lt;textarea&gt;`标签来定义一个文本域,通过`name`属性标识该文本域,并可以通过`cols`和`rows`属性设置其宽度和高度。 JavaScript作为客户端脚本语言,可以在浏览器端处理用户的交互行为。在这...

    文本域自动适应高度

    在网页开发过程中,我们经常会遇到这样一个需求:当用户在文本域(`textarea`)中输入文字时,文本域的高度能够根据输入内容的多少自动进行调整,以达到更好的用户体验效果。下面将详细介绍实现文本域自动适应高度的...

    js实现textarea限制输入字数

    因此,开发者需要采用JavaScript来实现对textarea输入字数的限制。 首先,我们来讨论限制textarea字数的原理。当用户在textarea中输入文字时,通过JavaScript可以监听键盘事件,如keydown、keyup或keypress,以此来...

    js判断文本框剩余可输入字数的方法

    本文介绍了一种使用JavaScript来实现判断文本框剩余可输入字数的方法,并将这个功能通过客户端脚本直接反馈给用户,从而提升用户体验。 知识点一:JavaScript实现文本框输入限制 JavaScript是一种广泛应用于客户端...

    JQuery 表单中textarea字数限制实现代码

    首先初始化了文本域和变量,然后通过keyup事件来动态更新用户在文本域中剩余可输入的字数。如果超出限制,则显示相应的提示信息。这个示例展示了如何使用JQuery来实现常见的用户界面交互和行为,是前端开发者必须...

    html css4.rar_html

    它不同于`&lt;input&gt;`标签,`&lt;input&gt;`通常用于单行文本输入或选择,而`&lt;textarea&gt;`则提供了多行文本输入的空间。以下是一个基本的`&lt;textarea&gt;`标签用法: ```html &lt;textarea id="myTextarea" rows="4" cols="50"&gt; 这是...

    【JavaScript源代码】element的表单元素使用总结.docx

    3. **文本域**:`&lt;el-input&gt;`组件加上`type="textarea"`变为多行文本输入,`rows`用于指定行数,`autosize`可使高度随内容自适应,还可以通过`:autosize="{minRows: 2, maxRows: 4}"`设置最小和最大行数。...

Global site tag (gtag.js) - Google Analytics