<body>
<input type=text onkeyup="if(this.value.length>=4)n.focus()">
<input type=text id="n">
</body>

解决方案 »

  1.   

    在onkeyup事件触发时判断
    ----------------------------
    <div><input name="c1" maxlength=4 next="c2" onkeyup="aa(this)">-
      <input name="c2" maxlength=4 next="c3" onkeyup="aa(this)">-
      <input name="c3" maxlength=4 next="c1" onkeyup="aa(this)"></div>
    <script>
    function aa(obj) {
      if (obj.value.length == 4 )
      {
        if (getCursorPos()==4)
        {
         if (obj.next !="")
         {
           var nextObj  =  eval(obj.next) 
           nextObj.focus()
         }
        }
        else
        {
           writeNum(String.fromCharCode(event.keyCode),1)
        }
      }
    }
    //以下为来自meizz日期掩码的部分函数
    function getCursorPos()
    {
    var len=4;
    var pos=0;
    var rng=document.selection.createRange();
    rng.moveEnd("character",len);
    try{
    pos=len-rng.text.length
    }catch(e){}
    return pos;
    }function writeNum(keyNum,flag)
    {
    var rng=document.selection.createRange();
    if(flag>0)
    rng.moveEnd("character",flag);
    else
    rng.moveStart("character",flag);
    //alert(rng.text);
    rng.text=keyNum;
    }
    </script>