基于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 相关文章推荐
ExtJs事件机制基本代码模型和流程解析
Oct 24 Javascript
Javascript中的作用域和上下文深入理解
Jul 03 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
Aug 21 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
Jul 07 Javascript
jQuery中Datatables增加跳转到指定页功能
Feb 08 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
Vue.js中数据绑定的语法教程
Jun 02 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
vue页面切换到滚动页面显示顶部的实例
Mar 13 Javascript
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
微信小程序如何引用外部js,外部样式,公共页面模板
Jul 23 Javascript
微信小程序实现点击导航条切换页面
Nov 19 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
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
node.js博客项目开发手记
2018/03/16 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
JS函数进阶之继承用法实例分析
2020/01/15 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Django实现自定义404,500页面教程
2017/03/26 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
Python中断多重循环的思路总结
2019/10/04 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
HTML5文档结构标签
2017/04/21 HTML / CSS
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
蛋糕店创业计划书
2014/05/06 职场文书
市场营销战略计划书
2014/05/06 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
建设工程授权委托书
2014/09/22 职场文书
复兴之路展览观后感
2015/06/02 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL