<INPUT TYPE="text" NAME="txt" >
<INPUT TYPE="button" onclick="alert(txt.value.substring(0,4));">

解决方案 »

  1.   

    <input onmouseover="sel(this,4)" value="abcdefghijklmnopqrst"><script language=javascript>
    function sel(obj,num)
    {
      var rng=obj.createTextRange()
      var sel = rng.duplicate();
      sel.moveStart("character", num);
      sel.setEndPoint("EndToStart", rng);
      sel.select();
    }
    </script>
      

  2.   

    meizz(梅花雨) 
     能不能对这段代码稍微解释一下?
      

  3.   

    我来解释吧,省得劳烦梅大侠:鼠标移至时调用函数:sel(this,4)
    function sel(obj,num)
    {
      var rng=obj.createTextRange() //创建当前HTML元素的TextRange对象(文本内容对象)
      var sel = rng.duplicate();    //创建TextRange的副本
      sel.moveStart("character", num); //副本的开始位置移动四个字符(副本值变为"fghijklmnopqrst")
      sel.setEndPoint("EndToStart", rng);//设置副本的结束位置为TextRange的开始位置(副本值变为"abcd")
      sel.select(); //副本被选中
    }呵呵,谢谢Meizz。这一段脚本可能比较费解的是sel.setEndPoint这一句,其end移到start的前面了。也可移动第一个TextRange对象的end到副本的start:
    function sel(obj,num)
    {
      var rng=obj.createTextRange() //创建当前HTML元素的TextRange对象(文本内容对象)
      var sel = rng.duplicate();    //创建TextRange的副本
      sel.moveStart("character", num); //副本的开始位置移动四个字符(副本值变为"fghijklmnopqrst")
      rng.setEndPoint("EndToStart", sel);//设置TextRange的结束位置为副本的开始位置(TextRange值变为"abcd")
      rng.select(); //TextRange被选中
    }关于TextRange对象的用法,请参看MSDN:
    http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_textrange.asp?frame=true