Я использую поле aa textarea в форме, созданной на html, и обработка выполняется php. Я хочу ограничить количество символов, которые пользователь может ввести в текстовое поле. Есть ли способ, с помощью которого это можно сделать, потому что поле textarea затем сохраняется в базе данных mysql, и поэтому я должен ограничить пользовательские данные в соответствии со значением varchar этого поля.
Любая помощь?
Вы можете ограничить это, установив атрибут maxlength
в тег textarea, например, <textarea maxlength="120"></textarea>
в HTML и дополнительно «вырезать» входную строку в PHP с помощью функции substr()
.
Как упоминалось в s.webbandit, вы можете использовать maxlength
, но обратите внимание, что это новая функция, введенная в HTML5, как статья W3 Schools о <textarea>
, поэтому для «пуленепробиваемого» решения нужен Javascript. Таким образом, maxlength
не поддерживается в Internet Explorer до версии 10 и в Opera вообще.
Вот один из подходов, который использует Javascript, чтобы помочь вам:
<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 символов, он просто удаляет их.
Я пробовал много разных способов ограничить текст в текстовых средах, и лучшее, что я нашел (на стороне клиента), с плагином 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>