基于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 Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
用正则表达式替换图片地址img标签
Nov 22 Javascript
js替代copy(示例代码)
Nov 27 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
JS循环遍历JSON数据的方法
Jul 08 Javascript
使用原生JS实现弹出层特效
Dec 22 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
Oct 10 Javascript
微信小程序之小豆瓣图书实例
Nov 30 Javascript
利用vue写todolist单页应用
Dec 15 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
Mar 13 Javascript
vue-router 路由传参用法实例分析
Mar 06 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
PHP类相关知识点实例总结
2016/09/28 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
基于jquery封装的一个js分页
2011/11/15 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python编写百度贴吧的简单爬虫
2015/04/02 Python
简单谈谈Python中的json与pickle
2017/07/19 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
pygame实现飞机大战
2020/03/11 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
C#的几个面试问题
2016/05/22 面试题
JSF界面控制层技术
2013/06/17 面试题
师范学院教师自荐书
2014/01/31 职场文书
小学信息技术教学反思
2014/02/10 职场文书
协议书样本
2014/04/23 职场文书
校园标语大全
2014/06/19 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
Oracle表空间与权限的深入讲解
2021/11/17 Oracle
FFmpeg视频处理入门教程(新手必看)
2022/01/22 杂记
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis