javascript - 使用 javascript 在 160 个字符后增加短信计数器

标签 javascript angularjs

我有 2 个计数器,一个用于显示每条消息 160 个字符中的剩余字符,另一个用于显示短信总数(如果字符超过 160 个),两者都可以正常工作,直到 160 个字符,但在 160 个字符之后,第一个计数器显示剩余字符停到0,我希望从160开始递减,请查看代码和截图。

Javascript

function textCounter(field,field2,maxlimit) {
    var countfield = document.getElementById(field2);
    if ( field.value.length > maxlimit ) {            
        countfield.value = 160 - field.value.length;              
    } else {
        countfield.value = maxlimit - field.value.length;
    }
}

HTML

<textarea class="text-input--underbar" placeholder="Enter Message" style="width: 100%; height: 100px;" onkeyup="textCounter(this,'counter',160);" ng-model="message" name="message" id="message"></textarea>
<br>
Remaining Characters : <input disabled  maxlength="3" size="3" value="160" id="counter"> / SMS
<br>
Total SMS(s) : {{ (message.length - message.length % 160) / 160 + 1 }}
<br>

enter image description here

已添加

最初,当文本区域为空时,短信总数:NaN,我如何设置我在那里使用的表达式的初始值。

最佳答案

你只需要通过以下方式更改你的js:

function textCounter(field,field2,maxlimit) {
    var countfield = document.getElementById(field2);
    countfield.value = maxlimit - (field.value.length % maxlimit);
}

编辑(NaN 值):

function textCounter(field,field2,maxlimit) {
    var countfield = document.getElementById(field2);
    countfield.value = isNaN(field.value.length) ? maxlimit : maxlimit - (field.value.length % maxlimit);
}

关于javascript - 使用 javascript 在 160 个字符后增加短信计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40935614/

相关文章:

javascript - angularJs 动画 ng-repeat 入口

javascript - click addEventListener 在没有被点击的情况下被调用

javascript - 如何使用 Javascript 或 CSS 淡出 Django 成功消息?

javascript - Highcharts 设置背景颜色和不透明度

angularjs - 在 AngularJS 指令 Controller 中使用 CoffeeScript 的类

javascript - 如何在 Angular 中的 JSON 属性中绑定(bind) HTML 数据

javascript - 刷新 Angular 日期时间选择器

javascript - React JSX 中的 ...rest 是什么意思?

javascript - 悬停在另一个元素上时保持 li 的悬停状态

javascript - 动态添加 Angular UI 日期选择器