最初に、私はjavascriptについて何も知らないと言わせてください。ここ数日、テキストエリアに追加する文字カウンターを見つけるために Web を検索しています。私は最終的に、1 つの問題を除いてうまく機能する気の利いた小さなスクリプト (実用的な例) を見つけました。Firefox で許可されている最大文字数に達すると、キーボード全体が無効になります。バックスペースでカウントを短くしたり、途中でクリックして削除したりすることはできません。IE、Chrome、Safari では正常に動作しますが、FireFox では動作しません。私のリクエストは、最大文字数に達したときに FireFox でバックスペース ボタンと削除ボタンが有効になるように、誰かが JavaScript を変更するのを手伝ってくれないかということです。
すべての助けをありがとう。
JavaScript コード
<script language = "Javascript">
maxL=255;
var bName = navigator.appName;
function taLimit(taObj) {
if (taObj.value.length==maxL) return false;
return true;
}
function taCount(taObj,Cnt) {
objCnt=createObject(Cnt);
objVal=taObj.value;
if (objVal.length>maxL) objVal=objVal.substring(0,maxL);
if (objCnt) {
if(bName == "Netscape"){
objCnt.textContent=maxL-objVal.length;}
else{objCnt.innerText=maxL-objVal.length;}
}
return true;
}
function createObject(objId) {
if (document.getElementById) return document.getElementById(objId);
else if (document.layers) return eval("document." + objId);
else if (document.all) return eval("document.all." + objId);
else return eval("document." + objId);
}
</script>
HTML コード
<font> Maximum Number of characters for this text box is 255.<br>
<textarea onKeyPress="return taLimit(this)" onKeyUp="return taCount(this,'myCounter')" name="Description" rows=7 wrap="physical" cols=40>
</textarea>
<br><br>
You have <B><SPAN id=myCounter>255</SPAN></B> characters remaining for your description...</font>