【发布时间】:2010-02-05 16:36:23
【问题描述】:
您好,我有一个功能可以在用户键入文本区域时增加其行数,所以它工作正常。但是当表单在用户没有输入时将文本带入文本区域时,它不会增加行数,但它只显示开头定义的行数(rows =“1”),正如我需要的那样它是最小的行数。
我不知道将什么 Javascript(无 JQuery)函数应用于 textarea,因此它会扩展行数,当用户键入时,以及当表单向 textarea 显示多行文本时,所以它总是使用最少的行数。
任何帮助将不胜感激。
请随意更改我拥有的功能。
例如。
<script type="text/javascript">
function changeTextAreaLength(e){
var txtLength = e.value.length;
var numRows = 0 ;
var arrNewLines = e.value.split("\n");
for(var i=0; i<=arrNewLines.length-1; i++){
numRows++;
if(arrNewLines[i].length > e.cols-5) {
numRows += Math.floor(arrNewLines[i].length/e.cols)
}
}
if(numRows < 1) {
e.cols = (txtLength % e.cols) + 1 >= e.cols ? ((txtLength % e.cols) + 1) : e.cols ;
}else{
e.cols = e.cols ;
e.rows = numRows;
}
}
</script>
<textarea id="textarea1" rows="1" onkeyup="javascript:changeTextAreaLength(this);" />
【问题讨论】:
-
您的代码充满了错误;更正
fucntion错字,将函数参数obj更改为e并更改函数名称以匹配onkeyup中的调用 -
谢谢,这已经是正确的了,我做的很快,我没有意识到。
标签: javascript html textarea