通常状况下,大家都使采用判断来判断textarea控件中含有多少行,但是,有这么一种情况,就是没有使用回车,而是字符过宽而textarea自动换的行,很显然,上面那种方法就不可行了.
这里,我封装了一个方法getTextRange(num, areaId),这个方法只需要传入textarea的id及其需要的行号,即可以返回指定行,为了灵活,这里没有返回指定行的文本,而是返回了指定行的一个trange对象,如果需要文本,只需调用trange对象的text属性即可.
把下面的代码拷贝到一个htm文件中即可以看到效果.
<!-- 欢迎转载,请保留作者及其出处,谢谢 -->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT language="javascript">
/**
* added by LxcJie 2004.7.16
* 返回指定行的range对象
* num为行号,areaId为textarea的id
*/
function getTextRange(num, areaId)
{
var range = document.all(areaId).createTextRange();
var rect = range.getClientRects();
var left = rect[0].left;
if(num > rect.length - 1 || num < 0)<