to qiushuiwuhen(秋水无恨):
你的方法是可以得到,但有几个问题?
1、由于<textarea>有一定的宽度,如果用户输入的信息过长,系统会自动换行,对于你的程序(obj.value.split("\r\n")),所得的结果就是错误的。
2、我的<textarea>用的是绝对坐标,没有指定rows属性,我怎样得到lines的值呢(lines=(obj.rows)?obj.rows:2)?
<textarea id=demo rows=4>
a
b
c
d
e
f
</textarea>
<input type=button value=getV onclick=getV(demo)>
<script>
function getV(obj){
var lines=(obj.rows)?obj.rows:2;
var fLine=Math.round(obj.scrollTop*lines/obj.offsetHeight)
var arr=obj.value.split("\r\n"),ret="";
for(i=0;i<lines;i++)ret+=arr[fLine+i]+"\r\n"
alert(ret)
}
</script>