我有 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>
已添加
最初,当文本区域为空时,短信总数: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/