私は、textarea要素のIEで完璧に動作する次のコードを持っています。JavascriptがFFで動作しない
(ED:読みやすいように改行)
<textarea name="mem_message" cols="25" rows="5"
onkeypress="return taLimit(this)"
onkeyup="return taCount(this,'myCounter')">
<? echo $_SESSION['mem_message']; ?>
</textarea>
これは、検証関数を呼び出します。
<script language="Javascript"><!--Counter for Message Box -->
maxL=100;
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>
だけIEに上記のすべての作品。 Firefoxでは、それはボックスにも焦点を当てません。
注:最後の関数 "createObject"を呼び出すのは、あなたが何かを作成するのではなくむしろ「取得」するので、少し誤解を招くことです。 – scunliffe
「ボックスに焦点を合わせない」という意味が分からないと、私はどこでもフォーカス()を呼び出すことはできません。それをクリックすると意味しますか?それにタブを押しますか? –
私のために働く...エラーが他のどこかにあると思われる – Greg