Я работаю над проектом, содержащим несколько текстовых полей (редактор Kendo). Я хочу установить ограничение на количество символов для каждой текстовой области. Я пытался добиться этого, используя максимальную длину, устанавливая события keyDown и focus, но ничего не работает. Я не уверен, связано ли это с редактором Kendo или нет. Я получил ссылку ниже (максимальное и минимальное количество символов в редакторе Kendo UI Editor), из которой я прихожу к решению ниже, но это решение добавляет один элемент iframe для всех элементов textarea. Событие keydown любой текстовой области влияет на сообщение об ограничении символов для всех элементов textArea. Мне нужна помощь в работе с независимыми элементами textarea.
$(document).ready(function() {
$(function HeadingMessage1Validation() {
var minChar = 1;
var maxChar = 100;
var iframe1 = $("iframe");
var HeadMsg1 = $("#HeadingMessage1").val();
var kendoDecode = htmlDecode(HeadMsg1);
var HtmltagReplace = removeTags(kendoDecode);
var CharCount = HtmltagReplace.length;
// Change event for iframe body content
iframe1.contents().find("body").on('keydown', function(e) {
// Clean up
textarea.disabled = true;
// Get Body (.text() strips out HTML tags)
var data = $(this).text();
if (this.which < 32) {
return; // Do nothing
}
var isEditKey = (e.keyCode == 8 || e.keyCode == 46);
if (data.length == maxChar && !isEditKey) {
$("#Head1textCount").text(data.length + " of Maximum Limit (100 Character) Warning : Maximum Limit Reached");
e.preventDefault();
} else if (data.length > maxChar) {
// Maximum exceeded
$(this).text(data.substring(0, maxChar));
} else if (data.length < minChar) {
$("#Head1textCount").text(data.length + " of Maximum Limit (100 Character)");
} else {
$("#Head1textCount").text(data.length + " of Maximum Limit (100 Character)");
}
});
// OnLoad call to get starting count
$("#Head1textCount").text(CharCount + " of Maximum Limit (100 Character)");
});
});
Я работаю над проектом, содержащим несколько текстовых полей (редактор Kendo). Я хочу установить ограничение на количество символов для каждой текстовой области. Я пытался добиться этого, используя максимальную длину, устанавливая события keyDown и focus, но ничего не работает. Я не уверен, связано ли это с редактором Kendo или нет. Я получил ссылку ниже (максимальное и минимальное количество символов в редакторе Kendo UI Editor), из которой я прихожу к решению ниже, но это решение добавляет один элемент iframe для всех элементов textarea. Событие keydown любой текстовой области влияет на сообщение об ограничении символов для всех элементов textArea. Мне нужна помощь в работе с независимыми элементами textarea.
[code]$(document).ready(function() { $(function HeadingMessage1Validation() { var minChar = 1; var maxChar = 100; var iframe1 = $("iframe"); var HeadMsg1 = $("#HeadingMessage1").val(); var kendoDecode = htmlDecode(HeadMsg1); var HtmltagReplace = removeTags(kendoDecode); var CharCount = HtmltagReplace.length;
// Change event for iframe body content iframe1.contents().find("body").on('keydown', function(e) { // Clean up textarea.disabled = true;
// Get Body (.text() strips out HTML tags) var data = $(this).text(); if (this.which < 32) { return; // Do nothing }
var isEditKey = (e.keyCode == 8 || e.keyCode == 46);
if (data.length == maxChar && !isEditKey) { $("#Head1textCount").text(data.length + " of Maximum Limit (100 Character) Warning : Maximum Limit Reached"); e.preventDefault(); } else if (data.length > maxChar) { // Maximum exceeded $(this).text(data.substring(0, maxChar)); } else if (data.length < minChar) { $("#Head1textCount").text(data.length + " of Maximum Limit (100 Character)"); } else { $("#Head1textCount").text(data.length + " of Maximum Limit (100 Character)"); } });
// OnLoad call to get starting count $("#Head1textCount").text(CharCount + " of Maximum Limit (100 Character)"); }); });[/code] [code]