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>

現在のように、入力された文字を10から0までカウントダウンしています。ページが読み込まれると10 (enter 3 characters minimum)と表示され、その 3 文字が入力されると( )内のテキストが消え、数字だけが表示されるコードを追加したいと思います。残される、つまり7

また、入力した文字を消去した場合、文字数が 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 に答える