Textarea lines
by int32_t
HTML
<div id="count"></div>
<form>
<textarea name=ta wrap=hard autofocus></textarea>
</form>
JavaScript
const count = document.querySelector('#count');
const ta = document.querySelector('textarea');
function updateCount() {
const lines = new FormData(ta.form).get('ta').split('\n');
const len = lines[lines.length - 1] == '' ? lines.length - 1 : lines.length;
count.textContent = `${len} line(s)`;
}
ta.addEventListener('input', updateCount);
new ResizeObserver(entries => {
updateCount();
}).observe(ta);
updateCount();