指定选取textarea的特定行

lwt_wt

lwt_wt

2016-01-29 11:38

指定选取textarea的特定行,指定选取textarea的特定行

  通常状况下,大家都使采用判断来判断textarea控件中含有多少行,但是,有这么一种情况,就是没有使用回车,而是字符过宽而textarea自动换的行,很显然,上面那种方法就不可行了.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

  这里,封装了一个方法getTextRange(num, areaId),这个方法只需要传入textarea的id及其需要的行号,即可以返回指定行,为了灵活,这里没有返回指定行的文本,而是返回了指定行的一个trange对象,如果需要文本,只需调用trange对象的text属性即可.

 

<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)
        return;
    if(num == 0)
    {
       var right = rect[0].right;

       range.moveEnd("character",-range.text.length);  
       while(range.offsetLeft + range.boundingWidth < right)
       {
           range.expand("character");
       }
       return range;
    }
    else
    {
        var right = rect[num].right;

        var range = getTextRange(num - 1, areaId);
        range.moveStart("character",range.text.length + 1);
        while(range.offsetLeft + range.boundingWidth < right)
        {
            range.expand("character");
        }
        if(range.offsetLeft left)
            range.moveStart("character",-1);
        return range;
    }
}

function getText(num)
{
    var range = getTextRange(num,"area")
    if(range != null)
    {
        alert(range.text);
        range.select();
    }
}
</SCRIPT
<TEXTAREA cols="50" rows="10" id="area"
客从东方来,衣上灞陵雨。
问客何为来,采山因买斧。
冥冥花正开,扬扬燕新乳。
昨别今已春,鬓丝生几缕。
</TEXTAREA<p

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

<input type="button" onClick="getText(0)" value="选第一行"
<input type="button" onClick="getText(1)" value="选第二行"
<input type="button" onClick="getText(2)" value="选第三行"
<input type="button" onClick="getText(3)" value="选第四行"

展开更多 50%)
分享

猜你喜欢

指定选取textarea的特定行

电脑网络
指定选取textarea的特定行

Source Insight如何跳转指定行

服务器
Source Insight如何跳转指定行

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Mysql技巧:指定只监听某个特定地址的设置方法

MySQL mysql数据库
Mysql技巧:指定只监听某个特定地址的设置方法

Linux查看文件指定行的命令是什么?

电脑入门
Linux查看文件指定行的命令是什么?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

一种基于记录集查找特定行的方法

SQLServer
一种基于记录集查找特定行的方法

excel2007冻结窗格以锁定特定行或列

电脑入门
excel2007冻结窗格以锁定特定行或列

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《战国无双4-2》同获直政及藤堂高虎秘武攻略

《战国无双4-2》同获直政及藤堂高虎秘武攻略

《迷你西游》妖荡系统玩法技巧

《迷你西游》妖荡系统玩法技巧
下拉加载更多内容 ↓