0

こんにちは皆さん、私はここに文字と行をカウントするこのスクリプトを持っていますが、現在はまだ行と文字をマイナスにすることができますが、ユーザーができないように警告ボックスも配置したいと思いますもっとテキストを入れて、私を助けてくれませんか?

javascript:

function textCounter(theField,theCharCounter,theLineCounter,maxChars,maxLines,maxPerLine) {
    var strTemp = "";
    var strLineCounter = 0;
    var strCharCounter = 0;

    for (var i = 0; i < theField.value.length; i++)
    {
        var strChar = theField.value.substring(i, i + 1);
        if (strChar == '\n')
        {
            strTemp += strChar;
            strCharCounter = 1;
            strLineCounter += 1;
        }
        else if (strCharCounter == maxPerLine)
        {
            strTemp += '\n' + strChar;
            strCharCounter = 1;
            strLineCounter += 1;
        }
        else
        {
            strTemp += strChar;
            strCharCounter ++;
        }
    }

    theCharCounter.value = maxChars - strTemp.length;
    theLineCounter.value = maxLines - strLineCounter;
}

コードで使用されます:

<textarea name="comment" cols="50" rows="10" wrap="VIRTUAL" onKeyUp="textCounter(theForm.comment,theForm.remChars,remLines,900,30,50);"></textarea>
<br><input name=remChars type=text value="900" size=3 maxlength=3 readonly> characters left
<br><input name=remLines type=text value="30" size=3 maxlength=3 readonly> lines left<br>

モデラーに報告する

4

1 に答える 1

1

1-関数の最後にチェックを追加します。

var check = strTemp.length <= maxChars && strLineCounter <= maxLines;
if (!check) alert("Error message here!");

2-フィールドのテキストをトリミングして、必要な文字のみが含まれるようにします。

theField.value = theField.value.sbustring(0, maxChars - 1);

3-関数の最後にリターンを追加します。

return check ;

4-そして、イベントバインディングを次のように変更します。

onKeyUp="return textCounter(theForm.comment,theForm...
于 2012-04-08T21:38:14.547 に答える