<div class="codetitle"> <span><a style="CURSOR: pointer" data="66431" class="copybut" id="copybut66431" onclick="doCopy('code66431')"><u>コードをコピーします</u></a></span> コードは次のとおりです。</div> <div class="codebody" id="code66431"> <br><html> <br><body> 🎜><textarea id="t"></textarea> <br><input type="text" id="b2" /><BR><script type="text/javascript"> ; <br>textAreaLimit("t",{lastMsgLabel:"b2"}) <br>function textAreaLimit(area,op){ <br>var defaultOp = { <br>maxLength:10 //最大長<br>, IsNumber:false //数字のみ <br>, lastMsgLabel:null //利用可能な入力数のリアルタイム表示 <br>, msg: "{0} 文字も入力できます" <br>, errorMsg: "文字数が最大制限を超えています" <br>}; <br>var label; <br>if(typeof area == "string"){ <br>area = document.getElementById(area); <br>} <br>if(! エリア){ <br>return; <br>} <br>for(op の変数 i){ <br>defaultOp[i] = op[i]; <br>if(defaultOp) .lastMsgLabel){ <br>if(defaultOp.lastMsgLabel のタイプ == "文字列"){ <br>label = document.getElementById(defaultOp.lastMsgLabel) <br>} <br>} <br>if(defaultOp.IsNumber); ){ <br>area.style.imeMode="Disabled";//IE <br>area.onkeydown = function(){ <br>returnevent.keyCode != 229; <br>} <br>} <br>area.onkeyup = function(){ <br>if(defaultOp.IsNumber){ <br>this.value = this.value.replace(/D/g,"");//<br>} IE 以外 <br> if(this.value.length >defaultOp.maxLength){ <br>//---------------------------- ----- -------------------------------------- <br>//スキーム① <br>this.disabled = "disabled"; <br>this.value = this.value.slice(0,defaultOp.maxLength); <br>this.removeAttribute("disabled"); <br>this.focus(); <br>//スキーム② <br>//または <br>//alert(defaultOp.errorMsg); <br>//this.value = this.value.slice(0) ,defaultOp .maxLength); ---------------------------------------------------- ---- <br>} <br>if(label){ <br>label.value =defaultOp.msg.replace(/{0}/,defaultOp.maxLength -this.value.length); <br>} <br>} <br></script> <br></html> <br><br> <br>日本語フル入力時に発生する不具合を解決-width は主に赤い線の真ん中のコードです。 <br>日本語入力状態を中断するというアイデアです。 <br>入力が超過した場合のポップアップ ウィンドウを許容できる場合はプラン 2 を使用し、そうでない場合はプラン 1 を使用します。</div>