基于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 相关文章推荐
JS中获取数据库中的值的方法
Jul 14 Javascript
使用js修改客户端注册表的方法
Aug 09 Javascript
js自动查找select下拉的菜单并选择(示例代码)
Feb 26 Javascript
用js将内容复制到剪贴板兼容浏览器
Mar 18 Javascript
Position属性之relative用法
Dec 14 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
Dec 18 Javascript
JavaScript跨域调用基于JSON的RESTful API
Jul 09 Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 Javascript
JS中作用域和变量提升(hoisting)的深入理解
Oct 31 Javascript
JS实现淡入淡出图片效果的方法分析
Dec 20 Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 Javascript
Javascript继承机制详解
May 30 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
Terran魔法科技
2020/03/14 星际争霸
一个PHP操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
EsLint入门学习教程
2017/02/17 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
vue实现分页栏效果
2019/06/28 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
自学python用什么系统好
2020/06/23 Python
什么是Python包的循环导入
2020/09/08 Python
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
六年级数学教学反思
2014/02/03 职场文书
运动会入场词200字
2014/02/15 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
委托证明模板
2014/09/16 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
材料员岗位职责
2015/02/10 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers
Java Spring Lifecycle的使用
2022/05/06 Java/Android