您可以通过按“输入”告知如何在文本区域内计算文本数量。
可以像这样创建Textarea:
<textarea name="ta1" id="ta1" rows="4" cols="50">
ABC[enter]
DEF[enter]
GHI[enter]
</textarea>
<input type="text" name="textnumber" value="">
然后“textnumber”将立即显示“3”。感谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
要计算textarea中的换行符数量,您必须:
获取textarea var val = document.querySelector('textarea').value
然后计算\n
(换行符)var res = val.match(/\n/g).length
要绑定结果并在输入中显示它,您可以将此过程包装在每个textarea更新中调用的函数中,
试试这个:
var tarea = document.querySelector('textarea')
var input = document.querySelector('input')
function update() {
var res = (tarea.value.match(/\n/g)) ? tarea.value.match(/\n/g).length : 0;
// ^^^^^^
// this is a ternary (like a conditional check)
input.value = res;
}
tarea.addEventListener('input', update)
&#13;
<textarea name="ta1" id="ta1" rows="4" cols="50">
ABC DEF GHI
</textarea>
<input type="text" name="textnumber" value="0">
&#13;
答案 2 :(得分:0)
尝试以这种方式做到这一点
function getEntersCount(textarea, result) {
var text = textarea.value,
enters = text.split(/\r|\r\n|\n/),
count = enters.length;
result.value = count;
}
getEntersCount(
document.getElementById("ta1"),
document.querySelector('[name="textnumber"]')
);
猜猜这会对你有所帮助
编辑1
getEntersCount(
document.getElementById("ta1"),
document.getElementById('textnumber')
);
编辑2
// Function will take text and return count of lines in it
function getEntersCount(text) {
var enters = text.split(/\r|\r\n|\n/),
count = enters.length;
return count;
}
// Usage example
var count = getEntersCount(document.getElementById("ta1").value)
console.log(count);