基于JS实现textarea中获取动态剩余字数的方法


Posted in Javascript onMay 25, 2016

案例介绍:我们常见到有的网站有textarea文本框,当你输入的时候,下面有文字提示还能输入多少个字,今天就是要实现这个功能。当然,由于一个页面有好几个textarea,所以使用单个js逻辑进行控制是不行的,得小小的进行封装一下。当然我的封装还有缺漏,但是基本功能是实现了。

首先介绍下单个textarea实现案例

html部分:

<textarea id="text_txt1"></textarea>
<span id ="num_txt1">剩余可输入600字</span>

js部分:

$(function(){
$('#text_txt1').on('keyup',function(){
var txtval = $('#text_txt1').val().length;
console.log(txtval);
var str = parseInt(600-txtval);
console.log(str);
if(str > 0 ){
$('#num_txt1').html('剩余可输入'+str+'字');
}else{
$('#num_txt1').html('剩余可输入0字');
$('#text_txt1').val($('#text_txt1').val().substring(0,600)); //这里意思是当里面的文字小于等于0的时候,那么字数不能再增加,只能是600个字
}
//console.log($('#num_txt').html(str));
});
})

然后介绍同页面下多个textarea实现案例

function changeLength(obj,num){
obj.on('keyup',function(){
var txtval = obj.val().length;
//console.log(txtval);
var str = parseInt(600-txtval);
//console.log(str);
if(str > 0 ){
num.html('剩余可输入'+str+'字');
}else {
num.html('剩余可输入0字');
obj.val(obj.val().substring(0, 600));
}
//console.log($('#num_txt').html(str));
});
}
$(function(){ //我这里有四个,所以调用4次
changeLength($('#text_txt1'),$('#num_txt1'));
changeLength($('#text_txt2'),$('#num_txt2'));
changeLength($('#text_txt3'),$('#num_txt3'));
changeLength($('#text_txt4'),$('#num_txt4'));
});

当然这里面实际上要求的字数也可以封装在函数内部,不过我就不封装了。这样就实现了当输入文字的时候,span内部会自动显示剩余字数,当输入值达最高值时,显示剩余字数为0,且无法在新填入内容。当删除文字的时候,span又能动态获取剩余字数。

下面上下别人的代码,这次多少也借鉴了别人的写法

html:

<div class="family_v2">
<p class="nickname_v2">简介:</p>
<textarea id="content" name="sign" style="height:60px;overflow-y: hidden;"
onkeyup="changeLength(this,60)" class="nicknameBox_v2 brief_box_v2">
</textarea>
<div class="limit_num_v2">
<h3>60</h3>
</div>
</div>

js:

//验证textarea的长度
function changeLength(obj,lg){
var len = $(obj).val();
$(obj).next().find("h3").text(lg-len.length);
if(len.length>=lg){
$(obj).next().find("h3").text(0);
$(obj).val(len.substring(0,lg));
}
}

以上所述是小编给大家介绍的基于JS实现textarea中获取动态剩余字数的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery学习笔记[1] jQuery中的DOM操作
Dec 03 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
Aug 02 Javascript
原始的js代码和jquery对比体会
Sep 10 Javascript
javascript表单事件处理方法详解
May 15 Javascript
简易的JS计算器实现代码
Oct 18 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
element ui 对话框el-dialog关闭事件详解
Feb 26 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
使用Sonarqube扫描Javascript代码的示例
Dec 26 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
Aug 09 Javascript
封装一下vue中的axios示例代码详解
Feb 16 Javascript
ES6 解构赋值的原理及运用
May 25 Javascript
js将json格式的对象拼接成复杂的url参数方法
May 25 #Javascript
使用jquery获取url以及jquery获取url参数的实现方法
May 25 #Javascript
jquery分隔Url的param方法(推荐)
May 25 #Javascript
sso跨域写cookie的一段js脚本(推荐)
May 25 #Javascript
使用jquery提交form表单并自定义action的方法
May 25 #Javascript
浅析jQuery 遍历函数,javascript中的each遍历
May 25 #Javascript
jquery 遍历数组 each 方法详解
May 25 #Javascript
You might like
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
PHP 转义使用详解
2013/07/15 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
Jquery 表格合并的问题分享
2011/09/17 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python编写简单的HTML页面合并脚本
2016/07/11 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
工程业务员工作职责
2013/12/07 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
个人工作表现评价材料
2014/09/21 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
Java Spring Lifecycle的使用
2022/05/06 Java/Android