私はhtmlで作成されたフォームのtextareaフィールドを使用しており、処理はphpによって行われます。ユーザーがテキストエリアに入力できる文字数を制限したい。 textareaフィールドがmysqlデータベースに格納され、フィールドのvarchar値に従ってユーザーデータを制限する必要があるため、これを実行できる方法はありますか?.
何か助けはありますか?
これを制限するには、HTMLの_<textarea maxlength="120"></textarea>
_などのtextareaタグにmaxlength
属性を設定し、さらにPHP by substr()
関数で入力文字列を「カット」します。 。
s.webbandit で述べたように、maxlength
を使用できますが、これはHTML5で導入された新機能であることに注意してください。W3Schools article 約 <textarea>
なので、「防弾」ソリューションにはJavascriptが必要です。したがって、maxlength
はバージョン10までInternetExplorerでは not でサポートされており、Operaではまったくサポートされていません。
これは、Javascriptを使用して支援する1つのアプローチです。
<script language="javascript" type="text/javascript">
function charLimit(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>
その後、次のように使用できます( 元のソース ):
<textarea name="limitedtextarea" onKeyDown="charLimit(this.form.limitedtextarea,this.form.countdown,100);">
</textarea>
これでうまくいくはずです。
これは、JavaScriptを介してテキスト領域の長さを制限する非常に簡単な方法です。
テキストエリアフィールド:
<input class='textField' type='text' NAME='note1' value='' onkeyup='charLimit(this, 40);'>
JavaScript関数:
function charLimit(limitField, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);}
}
ユーザーが40文字を超えて入力すると、それらは削除されます。
Textareasのテキストを制限するためにさまざまな方法を試しましたが、(クライアント側で)見つけた最良の方法はjQuery.Maxlength.jsプラグインを使用することです。シンプルで素早く、すべてをカバーします!
ステップ1.Maxlengthプラグインスクリプトを含める
<script language="javascript" src="jquery.maxlength.js"></script>
手順2.maxlength属性をに追加します
<textarea maxlength="35"
rows="5" cols="30" name="address"></textarea>
ステップ3.プラグインを初期化します
<script type="text/javascript">
$(document).ready(function($) {
//Set maxlength of all the textarea (call plugin)
$().maxlength();
})
</script>
<script type="text/javascript">
$(document).ready(function(){
var maxChars = $("#sessionNumtext");
var max_length = maxChars.attr('maxlength');
if (max_length > 0) {
maxChars.bind('keyup', function(e){
length = new Number(maxChars.val().length);
counter = max_length-length;
$("#sessionNum_counter").text(counter);
});
}
});
</script>
<textarea name="sessionNumtext" id="sessionNumtext" maxlength="20" type="text"></textarea>
kalan karakter sayısı: <span id="sessionNum_counters">20</span>