Английский не является моей родной идиомой, поэтому заранее извиняюсь за плохую грамматику.
Я использую javascript для подсчета символов текстового поля, код работает плавно, показывая, что ограничение символа уменьшается при наборе текста, используя этот код, я вызывал текстовую область, чтобы php-метод вызывал из базы данных текст, и вот где проблема приходит, при тестировании страницы при загрузке он показывает текст в текстовом поле, но предел символа остается на 500, иначе он меняет значение, если тип u в текстовом поле показывает правильный предел символов.
Как я могу показать правильный предел символов при загрузке страницы?
вот мой код:
HTML-код:
<tr>
<td align="center" colspan="4">
<textarea "rows="10" cols="35" onKeyPress="return charLimit(this)" onKeyUp="return characterCount(this)"><?php echo $oRep->getDescripcion(); ?> </textarea>
</td>
</tr>
<tr>
<td align="center" colspan="4"><p><strong><span id="charCount">500</span></strong> Caracteres disponibles.</p></td>
</tr>
JS CODE:
var maxLength=500;
function charLimit(el) {
if (el.value.length > maxLength) return false;
return true;
}
function characterCount(el) {
var charCount = document.getElementById('charCount');
if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength);
if (charCount) charCount.innerHTML = maxLength - el.value.length;
return true;
}
Я onchange="return charLimit(this)
добавить событие в текстовое поле, например, onchange="return charLimit(this)
но без изменений.
Добавьте <body onload="characterCount(document.getElementById('text'))">
в свой тег body и сделайте идентификатор текстового поля как "текст".
Во-первых, я добавлю идентификатор для этого текстового поля, скажем, 'descriptionTextArea'. Во-вторых, я буду слушать событие onload на теле (например), а внутри обработчика onload я бы сделал это:
// get reference to body
var body = document.getElementsByTagName('body')[0];
// listening for onload event
body.addEventListener('load', loadHandler);
function loadHandler() {
// get reference to our description text area
var descriptionTextArea = document.getElementById('descriptionTextArea');
// call method with reference to descriptionTextArea as parameter
characterCount(descriptionTextArea);
}
Таким образом, мы вызываем метод characterCount при загрузке страницы, и он должен правильно вычислять количество символов без взаимодействия с пользователем.