<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
<!--
function bbb(){ //改变栏目状态
 if( aaaa.lm_nm1.value =="") {
  alert("输入内容不能为空!");
  aaaa.lm_nm1.focus();
 }
}
// -->
</script>
</head>
<body>
<table><form name="aaaa">
<tr><td align="left"><input type="text" id="lm_nm1" name="lm_nm1" value="公告栏" onchange="javascript:bbb();"></td></tr></form></table>
</body>
</html>
以上这段代码为什么在清空后无法获得焦点呢,能有提示,但就是无法获得焦点,
是我计算机问题?我有一个页面,已经删到这种样子了,但还是无法获得焦点,到底哪的问题啊

解决方案 »

  1.   

    楼主用xx.focus()函数应该是可以的
      

  2.   

    1. 二楼的方法2. onkeyup事件也可以,效果不同
    onkeyup="javascript:bbb()"3. 在楼主的基础上用以下方法也可以
    <html> 
    <head> 
    <title> </title> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <script language="javascript"> 
    <!-- 
    function bbb(){ //改变栏目状态 
    if( document.getElementById("lm_nm1").value =="") { 
      alert("输入内容不能为空!"); 
      document.getElementById("lm_nm1").blur(); 
      document.getElementById("lm_nm1").focus(); 


    // --> 
    </script> 
    </head> 
    <body> 
    <table> <form name="aaaa"> 
    <tr> <td align="left"> <input type="text" id="lm_nm1" name="lm_nm1" value="公告栏" onchange="javascript:bbb();"><input/> </td> </tr> </form> </table> 
    </body> 
    </html> 
      

  3.   

    onchange 放到这个事件里 冲突了
      

  4.   

     aaaa.lm_nm1.value 能行嘛?调用的时候javascript:bbb(form);同样3楼做法
      

  5.   


    你原来的代码也是可以的. 只是getElementById用的更多,更规范一点
      

  6.   

    function bbb(){ //改变栏目状态 
    if( aaaa.lm_nm1.value =="") { 
      alert("输入内容不能为空!"); 
      window.setTimeout(function (){aaaa.lm_nm1.focus()},0); 

      

  7.   

    如果用这个的话,那用户点击后无法转到其他输入框去,如果想先写其他输入框,鼠标一离开将一直有提示必须输入值,但我做的是ajax 如果输入了,那就立即更改了