我有这段代码:
<script type="text/javascript">
var maxLength=10;
function charLimit(el) {
if (el.value.length > maxLength) return false;
return true;
}
function characterCount(el) {
var charCount = document.getElementById('charCount');
if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength);
if (charCount) charCount.innerHTML = maxLength - el.value.length;
return true;
}
</script>
与此输入字段一起:
<input type="text" onKeyPress="return charLimit(this)" onKeyUp="return characterCount(this)" />
<span id="charCount">10</span>
就像现在一样,它正在倒计时输入的字符,从 10 到 0 。我想添加一些代码,当页面加载时,它会显示 10(最少输入3个字符),当输入这三个字符时,中的文字( )将消失,只留下数字,即 7 。
此外,如果您删除输入的文字,如果字符数小于3,则()中的文字将再次显示,例如: 8(输入3最少字符)
甚至更好,如果可以这样做:
10(从3个miniumum中输入0个字符)
9(从3个miniumum中输入1个字符)
8(从3个miniumum中输入2个字符)
7
它不一定是我现有的代码,如果有的话,建议使用其他代码。
答案 0 :(得分:3)
因为没有人写过答案,我会写一个。 (即使它看起来不像你自己试过的那样。)
function characterCount(el) {
var charCount = document.getElementById('charCount');
if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength);
if (charCount) charCount.innerHTML = maxLength - el.value.length;
return true;
}
到
function characterCount(el) {
var charCount = document.getElementById('charCount');
if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength);
if (charCount) {
if(el.value.length < 3) {
charCount.innerHTML = (maxLength - el.value.length) + ' (' + (3 - el.value.length) + ' out of 3 characters minimum)';
} else {
charCount.innerHTML = maxLength - el.value.length;
}
}
return true;
}