<script type="text/javascript">  function id(x) {//设置一个ID对象的引用
  if (typeof x == "string") return document.getElementById(x);
  return x;
  }
</script><script type='text/javascript'> 
function cjsr_err()  //这是检查是否符合条件的函数
{
var fsz=document.activeElement.value;
var cjm=document.activeElement.id;();(在这里获得当前文本框ID
if (sfsz(fsz)||fsz==null)
{
    alert (xm_z(cjm)+' 输入的分数中含有非数字内容,请重新输入!');
    id(cjm).select();(在这里调用ID()函数,引用出错的文本框,让其获得焦点,可是不成功;但是将变量cjm改成固定的文本框id,比如a10,就可以让a10获得焦点
                  }
else if (fsz>0||fsz<0||fsz==''||fsz==null)
{
                                alert (xm_z(cjm)+' 输入的分数大于满分或小于0,请重新输入!');
     id(cjm).select();();(在这里调用ID()函数,引用出错的文本框,让其获得焦点,可是不成功;但是将变量cjm改成固定的文本框id,比如a10,就可以让a10获得焦点) }
id('abcj_tj').disabled=true
         }
</script>
………………
………………(这里略若干代码
<input type='text' name='a1' id='a1' value='0' size='10' onchange='cjsr_err()'/><br/>
<input type='text' name='a2' id='a2' value='0' size='10' onchange='cjsr_err()'/><br/>
<input type='text' name='a3' id='a3' value='0' size='10' onchange='cjsr_err()'/><br/>
………………
………………(这里略若干代码
<input type='text' name='a100' id='a100' value='0' size='10' onchange='cjsr_err()'/><br/>小弟新新新手,请各位指点!敬谢!!

解决方案 »

  1.   

    用blur事件好了.每次blur之后判断是否符合,如果不符合那么就focus
      

  2.   

    失去焦点的时候判断 文本框的值是否等于文本框的defalutValue 
    如果等 
    dosomething
    如果不等则
    focus
      

  3.   

    不是用什么事件的问题,我不明的是:为什么使用变量cjm引用文本框ID就不成功,可是直接用ID就可以。
    而且,我试了blur事件,也不行
      

  4.   

    假设一种情况:
    我在文本框id是a4的里面输入值,然后按TAB键后,输入的值不符合条件,提示出错,但焦点会到a5里。可是如果直接将id(cjm)改成id('a4'),焦点就可以到a4,其他的固定id也可以