0

我有这个代码:

<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>

就像现在一样,它正在对输入的字符进行倒计时,从100。我想给它添加一些代码,当页面加载时,它会显示10(至少输入 3 个字符),当输入这三个字符时,()中的文本将消失,只有数字会被留下,即7

此外,如果您删除输入的文本,如果字符数小于 3,则( )中的文本将再次显示,即:8(最少输入 3 个字符)

或者甚至更好,如果它可以这样制作:

10(最少 3 个字符输入 0 个字符)
9(最少 3 个字符输入 1 个字符)
8(最少 3 个字符输入 2 个字符)
7

它不需要是我拥有的当前代码,如果你有,建议使用其他代码。

4

1 回答 1

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;
}
于 2012-03-25T12:29:21.283 回答