inputに入力された文字数をカウントする

onkeyup="countTxt('○○○:012')"を指定した
idが○○○:012の箇所の文字数を012の文字制限でカウントして
idが○○○:012_countの箇所に『4/12』として出力します


カウントするinputのhtmlに

でcounter.jsを読み込ませて
<INPUT onkeyup="countTxt('title:40')" size=32 name="title" id="title:40">
<span id="title:40_count"></span>
のように記述する。


上記の例では40文字制限でカウントして、**/40と表示。
40文字を超えるとfontを赤くする。


counter.jsの中身は以下


///////////////////////////////////////////
var preText = "";
setInterval("countTxt()", 500);
function countTxt(myType) {
var myData = myType.split(":");
var maxLength = myData[1];
var myValue;
myValue = document.getElementById(myType);

if (myValue == null)
return;

var str = myValue.value;
if (str == preText)
return false;
else
preText = str;

var cc;
var cc_count = myType + "_count";
cc = document.getElementById(cc_count);

var textLength = preText.length;
var text = textLength +"/"+ maxLength;

if (textLength>maxLength)
cc.style.color = "red";
else
cc.style.color = "blue";

cc.innerHTML = text;
}