4,552,090 th visitor since 2017.2.1 ( Today : 675 )
Programming
No. 470
Name. swindler
Subject. input 박스내의 커서위치 구하기와 이동하기
Main Cate. Javascript
Sub Cate.
Date. 2008-09-12 13:08
Hit. 8310 (210.182.190.136)
File.
<form name=frm>
    <input type=text name=id id="idtext" value="12345678">
</form>

<br><br>

<script language="javascript">

function WCEditCtrl_setCursorPos(wSrcWnd,oCtrl,elEdit,nPos)
{
    try
    {
        var txtRange = elEdit.createTextRange();
        txtRange.moveStart( "character", nPos);
        txtRange.moveEnd( "character", -1*(elEdit.value.length-nPos));
        txtRange.select();
    }
    catch (ex)
    {
    }
}

function WCEditCtrl_getCursorPos(wSrcWnd,oCtrl,elElmt)
{
    try
    {
        // WCPage_debugTrace(wSrcWnd,"WCEditCtrl_getCursorPos keycode="+wSrcWnd.event.keyCode);
        if (elElmt == null)
            elElmt = oCtrl.elEdit;
        var sOldText = elElmt.value;
        var objRange = wSrcWnd.document.selection.createRange();
        var sOldRange = objRange.text;
        var sWeirdString = '#%~';
        objRange.text = sOldRange + sWeirdString;
        objRange.moveStart('character', (0 - sOldRange.length - sWeirdString.length));
        var sNewText = elElmt.value;
        objRange.text = sOldRange;
        //alert(sWeirdString);
        for (var i=0; i <= sNewText.length; i++)
        {
            var sTemp = sNewText.substring(i, i + sWeirdString.length);
            if (sTemp == sWeirdString)
            {
                var cursorPos = (i - sOldRange.length);
                return cursorPos;
            }
        }
        return null;
    }
    catch (ex)
    {
    }
    return null;
}

function test()
{
    alert(WCEditCtrl_getCursorPos(window, null, window.document.getElementById('idtext')));
}
function test2()
{
    WCEditCtrl_setCursorPos(window, null, window.document.getElementById('idtext'),3);
}

setTimeout(test, 2000);
setTimeout(test2, 4000);
</script>



[바로가기 링크] : http://coolx.net/cboard/develop/470



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog