Работа с Textarea jQuery

Сборник jQuery приёмов с textarea – получить содержимое, вставить значение, подсчет количества символов и строк и т.д.

Во всех примерах используется следующий HTML код:

<textarea id="textarea"></textarea>
HTML
1
$('#textarea').val();
JS

Метод split() разбивает строку на массив по регулярному выражению, в данном случае по переносу строк. Нумерация индексов массива начинается с 0.

function get_line(value, line){
	var lines = value.split(/[\r\n]+/);
	return lines[line];
}

alert(get_line($('#textarea').val(), 1)); // Выведет значение 2-й строки.
JS
2
$('#textarea').val('Новый текст');
JS

Для удаления лишних переносов начале и конце значения textarea используется jQuery метод $.trim().

// Добавить текст в начало.
$('#textarea').val($.trim('Текст в начале.' + '\n' + $('#textarea').val()));

// Добавить текст в конец.
$('#textarea').val($.trim($('#textarea').val() + '\n' + 'Текст в конце.'));
JS
3
$('#textarea').val('');
JS
4
$('#textarea').focus();
JS
// Событие когда textarea получил фокус.
$('#textarea').focus(function(){
	alert('Фокус установлен');
});

// Когда textarea теряет фокус.
$('#textarea').blur(function(){
	alert('Фокус снят');
});
JS
5
$('#textarea').focus(function(){
	$(this).select();
});
JS
6
// Заблокировать
$('#textarea').prop('disabled', true);

// Разблокировать
$('#textarea').prop('disabled', false);
JS
7

JS свойство length возвращает количество символов для строк и количество элементов для массивов. Перенос строки считается как отдельный символ, для символа эмодзи length возвращает как минимум 2.

$('#textarea').bind('input', function(){
	$('#result').html($(this).val().length);
});
JS
8
$('#textarea').bind('input', function(){
	$('#result').html($(this).val().split('\n').length);
});
JS
9
// Строчные
$('#textarea-1').bind('input', function(){
	$(this).val($(this).val().toLowerCase());
});

// Заглавные
$('#textarea-2').bind('input', function(){
	$(this).val($(this).val().toUpperCase());
});
JS
10

Свойство scrollHeight возвращает значение высоты контента в элементе, включая скрытые области из-за прокрутки, а также padding элемента, но не margin.

innerHeight() возвращает высоту элемента без учета границ.

$('#textarea').on('input', function(e) {
	if (this.scrollHeight > $(this).innerHeight()) {
		$('#result').html('Есть');
	} else {
		$('#result').html('Нет');
	}
});
JS
11
$('#textarea').bind('input', function(){
	$.ajax({
		url: '/ajax.php', 
		method: 'post',
		dataType: 'html',
		data: {text: $('#textarea').val()},
		success: function(data){
			$('#result').html(data);
		}
	});
});
JS
04.03.2018, обновлено 10.03.2024
53445
Предыдущая запись Работа с checkbox в JQuery
Следующая запись Textarea для ввода SMS

Комментарии 3

Александр Максимов Александр Максимов
26 мая 2021 в 15:50
Спасибо, как всегда разжевали и показали на примере))
Vanya Yakovlev Vanya Yakovlev
25 июля 2021 в 19:55
Получить строчку из Textarea. /[\n\r]+/ замените на /\r|\r\n|\n/. Неправильно выводит строки.
Алексей Дементьев Алексей Дементьев
30 января 2022 в 11:59
Подсчет количества строк - не работает -((

, чтобы добавить комментарий.

Другие публикации

Работа с Radio Button в JQuery
Сборник приемов работы с радиокнопками в JQuery. Рассмотрим на примере группы контролов с одинаковым name=radio.
79641
+8
Работа с select с помощью JQuery
Сборник методов JQuery для работы с выпадающими списками select option с примерами.
244369
+13
Работа с массивами PHP – создание, наполнение, удаление
Основные примеры работы с массивами PHP. Создание, наполнение, извлечение удаление значений.
99146
+13
Работа с checkbox в JQuery
Сборник приемов JQuery для работы с чекбоксом.
250812
+19
Пример парсинга html-страницы на phpQuery
phpQuery – это удобный HTML парсер взявший за основу селекторы, фильтры и методы jQuery, которые позволяют...
62742
+26
Очистка данных из форм в PHP
Для предотвращения XSS, SQL-инъекций и других атак, данные полученные из форм нужно чистить. Простое экранирования кавычек не достаточно, нужен комплексный подход по типу данных.
11711
+6