<html>
<head>
<script>
function IsNull()
{
  if(event.srcElement.value.length==0)
{

alert("null is forbidden!");
alert(event.srcElement.id);
event.srcElement.focus();
alert("OK")
 }
 return;
}
</script>
</head>
<body>
<input type="text" name="s1" id="s1" onblur="IsNull()">
<input type="text" name="s2" id="s2" onblur="IsNull()">
                                               ~~~~
</body>
</html>

解决方案 »

  1.   

    另外改写了您对IsNull判断的函数
      

  2.   

    在试试看这段代码,其实onblur事件是响应在onfocus事件以后的----------------<html>
    <head>
    <script>
    function IsNull()
    {
      if(event.srcElement.value.length==0)
    {

    alert("null is forbidden!");
    alert(event.srcElement.id+" is checking");
    event.srcElement.focus();
    alert("OK")
     }
     return;
    }function focusThis()
    {
    alert(event.srcElement.id+" is focus");
    }
    </script>
    </head>
    <body>
    <input type="text" name="s1" id="s1" onfocus="focusThis()" onblur="IsNull()">
    <input type="text" name="s2" id="s2" onfocus="focusThis()" onblur="IsNull()">
    </body>
    </html>
      

  3.   

    不行的這樣會出死循環的,需要加全局變量控制
    var ErrorObj = null;
    function IsNull()
    {
        if(ErrorObj!=null && ErrorObj!=event.srcElement)
        {
    return;
        }
        ErrorObj = null;
        if(event.srcElement.value.length==0)
        {
            alert("null is forbidden!");
            event.srcElement.focus();
            ErrorObj = event.srcElement;
        }
        return;
    }