JAvascript選択テキスト


createTextRangeのtextとhtmlTextを返します.

<script language="javascript">
function test()
{
      var rng=document.body.createTextRange();
      alert(rng.text)
}
function test1()
{
      var rng=document.body.createTextRange();
      alert(rng.htmlText)
}
</script>

<input type="button" onclick="test()" value="text">
<input type="button" onclick="test1()" value="htmlText">

指定したテキスト・ボックスで選択したテキストの取得:最初のテキスト・ボックスのみに応答

<input id="inp1" type="text" value="1234567890">
<input id="inp2" type="text" value="9876543210">
<input type="button" onclick="test()" value="  ">

<script language="javascript">
function test()
{
      var o=document.getElementById("inp1")
      var r = document.selection.createRange();
      if(o.createTextRange().inRange(r))
            alert(r.text);
}
</script>
 

ページテキストの逆順序検索

<input value="    a" onclick=myfindtext("a") type="button">

<script language ='javascript'>
var rng = document.body.createTextRange();
function myfindtext(text)
{
      rng.collapse(false);
      if(rng.findText(text,-1,1))
      {
            rng.select();
            rng.collapse(true);
      }else
      {alert("end");
       }
}
</script>

コントロールにフォーカスして最後にカーソルを置きます

<script language="javascript"> 
function setFocus() 
{ 
     var obj = event.srcElement; 
     var txt =obj.createTextRange(); 
     txt.moveStart('character',obj.value.length); 
     txt.collapse(true); 
     txt.select(); 
} 
</script> 

<input type="text" value="http://toto369.net" onfocus="setFocus()">
 

テキストボックス内のカーソル位置を取得

<script language="javascript">
function getPos(obj){
     obj.focus();
     var s=document.selection.createRange();
     s.setEndPoint("StartToStart",obj.createTextRange())
     alert(s.text.length);
}
</script>

<input type="text" id="txt1" value="1234567890">
<input type="button" value="      " onclick=getPos(txt1)>

Inputボックス内のカーソル位置の制御

<script language="javascript">
function setPos(num)
{
     text1.focus();
     var e =document.getElementById("text1");
     var r =e.createTextRange();
     r.moveStart('character',num);
     r.collapse(true);
     r.select();
}
</script>

<input type="text" id="text1" value="1234567890">
<select onchange="setPos(this.selectedIndex)">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
 

テキストボックスのテキストを選択

<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>

<input type="text" id="text1" value="1234567890">
<select onchange="sel(text1,this.value)">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
 

テキストボックス内のカーソルの移動を制御する

<input type="button" value="<" onclick=go(-1)> 
<input id="demo" value="     ">
<input type="button" value=">" onclick=go(1)> 

<script language="javascript">
function go(n){
     demo.focus();
     with(document.selection.createRange())
{
          moveStart("character",n);
          collapse();
          select();
    }
}
</script>