JavaScript 输入框字数实时统计更新

    xiaoxiao2021-04-05  41

    在前端开发中,很多情况下需对输入内容进行验证。实时统计功能,对于定长输入而言,可以让用户实时明确输入界限,并合理安排内容。 2017-11-27 16:51:31 增加vue textareat字数统计 注意: 1、:maxlength=”100”为element设置textareat最大输入字符数的语法; 2、@input=”descInput”绑定输入事件。 另:<el-table-column prop="questioncontent" label="会员疑问" show-overflow-tooltip>中的show-overflow-tooltip,用于设置超出长度显示…,鼠标悬浮显示全部字符。

    <el-form-item label="会员的疑问" style="word-break: break-all;"> <div class="data-item-data1">{{questiondetail.content}}</div> </el-form-item>

    中的word-break: break-all;用于太长时换行显示。 1、vue代码

    <el-dialog title="新增答案" :visible.sync="adddialogVisible" size="tiny"> <el-form ref="questionanswer" :model="questionanswer" :rules="consumerules" label-width="80px"> <el-form-item label="我的回答"> <el-input type="textarea" :maxlength="100" v-model="questionanswer.answercontent" @input="descInput" placeholder="请在此处输入您的回答"></el-input> </el-form-item> <div style="float:right;"><span class="contentcount">{{remnant}}</span>/100</div> </el-form> </el-dialog>

    2、script代码

    <script type='text/ecmascript-6'> export default { data() { return { adddialogVisible: false, remnant: 0, questionanswer: { answercontent:'' } }, methods: { descInput(){ var txtVal = this.questionanswer.answercontent.length; if(txtVal>100){ this.remnant = 100; }else{ this.remnant = txtVal; } } } </script>

    字数实时统计更新

    下面将以【消息内容】为例,设计实现输入框字数实时统计更新功能。 项目架构如下:

    message message.cssmessage.jsmessage.tpl

    1. 在message.tpl文件中定义网页元素

    //移动端微信公众号开发 <div class="weui-cell__bd"> <textarea id="content" class="weui-textarea" placeholder="新消息内容" rows="3"> </textarea> <div class="weui-textarea-counter"> <span class="contentcount">0</span>/200 </div> </div> //web端业务开发 <div class="modal-body" style="box-sizing: border-box;"> <form id="newtaskform" class="form-horizontal"></form> </div>

    2.在message.js文件中绑定事件,用以统计输入字符

    //移动端 tooltips提示形式 $('#content').bind('input propertychange', function () { var fizeNum = $(this).val().length; if (fizeNum > 200) { var char = $(this).val(); char = char.substr(0, 200); $(this).val(char); fizeNum = 200; tooltipsShow('消息内容不能超过200字'); } $(this).parent().find('.contentcount').text(fizeNum); }); //web网页span提示形式 FileName = '<div class="form-group" id="text"><label class="col-sm-3 control-label" id="textlabel"><span class="dot"></span>消息内容</label>'+ '<div class="col-sm-9 input-container "><textarea id="msgcontent" name="text" rows="8" style="width:100%;padding-right:20px"></textarea>' + '<div class="counter" style="float:right;">' + '<span id="texttips" style="display: none; color: #ff0000;">消息内容超出最大限制</span><span class="contentcount">0</span>/200</div>' + '</div></div>'; $("#newtaskform").append(FileName); $('#msgcontent').bind('input propertychange', function () { var fizeNum = $(this).val().length; if (fizeNum > 200) { var char = $(this).val(); char = char.substr(0, 200); $(this).val(char); fizeNum = 200; $("#texttips").show(); }else{ $("#texttips").hide(); } $(this).parent().find('.contentcount').text(fizeNum); });

    转载请注明原文地址: https://ju.6miu.com/read-666359.html

    最新回复(0)