其实这个算法的核心就是获取input中光标的位置,我以前曾经参考过一篇文章,实现类似的功能,你可以参考下,稍加修改就能完成你的要求。
http://bbs.blueidea.com/thread-2794774-1-1.html

解决方案 »

  1.   

    要的就是这个功能吧^<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <script language="javascript"> 
    var  sel ;
    function getFocus(){
    sel=document.selection.createRange(); 
         sel.setEndPoint("StartToStart",document.getElementById("aa").createTextRange());
    }
    function deletLast() //删除光标后的文本

         //把光标前的文本赋值给文本
    document.getElementById("aa").value = sel.text}  
    function deletBefore() //选中文本框中光标后的本不

         var m=sel.text.length;//光标所在位置
    sel.moveStart('character',m);//移动开始点,-m标示当前光标位置前面m个字符处
        sel.moveEnd('character',aa.value.length);//移动结束点,0标示当前光标位置
        sel.select();//选中开始点到结束点间的字符  var last = document.selection.createRange().text
    //把光标后的文本赋值给文本
    document.getElementById("aa").value = last ;} 
    </script> 
    </HEAD><BODY><input id="aa" type=text onclick=getFocus() value=sdklfjsldjf> 
    <input type="button" value="删除光标前面的值" onclick="deletBefore()">
    <input type="button" value="删除光标后面的值" onclick="deletLast()"></BODY>
    </HTML>