去了上面的所有this就OK了
不知道你在这里用这个this干嘛用的!~~

解决方案 »

  1.   

    <script language="JavaScript" type="text/javascript">
     <!-- 
      function checkform(fm)   
      {   
      if(fm.username.value.length==0)   
      {   
      alert("请输入您的用户名!"); 
      fm.username.focus();  
      return   false;   
      }   
      if(fm.password.value.length==0)
      {window.alert"请输入您的密码!";
      fm.password.focus();
      return false;
      }
      return true;
      }   //-->
    </script>
    <form action="chekadmin.asp" method="post" target="_self" onsubmit="return checkform(this)">==============
    使用以上代码覆盖你发出的部分即可。
      

  2.   

    传了this进去,却又不用。
    document.form.username.value.length这样引用的话,根本不需要传值进去的。
    既然传了个对象进去,就要obj.username.value这样来引用了。还有,注意this为关键字,代表自己的意思,return checkform(this)你在调用的时候,这样写代表传把这个表单本身做为一个对象传进去,而函数内写的时候,就不要用this了,否则代表的是函数本身,产生歧义了。
      

  3.   

    同意楼上的观点,要么就不用this,要么一定使用。这样莫能两可的使用,绝对是不正确的!出问题,这个是当然的了
      

  4.   

    定义函数的时候不要用this,并且你调用alert时忘记写括号了。
    <script language="JavaScript" type="text/javascript">
     <!-- 
      function checkform()   //这不要this,调用的时候也不需要,否则就按楼上某位的写。
      {   
      if(document.form.username.value.length==0)   
      {   
      alert("请输入您的用户名!"); 
      document.form.username.focus();  
      return   false;   
      }   
      if(document.form.password.value.length==0)
      {
    //这里少了括号
    window.alert("请输入您的密码!");
      document.form.password.focus();
      return false;
      }
      return true;
      }   -->
    </script>
      

  5.   

    问题是
    onsubmit="return checkform(this)">提交时发生事件,不管事件如何,还是会提交的这样的问题都是用一个普通的按钮来替代SUBMIT按钮,在其onclick事件中调用验证JS,在JS末尾再调用FORM的SUBMIT方法.
      

  6.   

    onsubmit="checkform(this);return false;">这样就可以 了,不用把submit按钮替换成普通按钮
      

  7.   

    checkform函数里如果验证通过再加一句 fm.submit();用来替换函数里的return true;
      

  8.   

    楼上的两位理解有误。onsubmit返回false时是不提交的,返回true时会发生提交。
      

  9.   

    <script language="JavaScript" type="text/javascript">
     <!-- 
      function checkform(this)   
      {   
      if(document.form.username.value.length==0)   
      {   
      alert("请输入您的用户名!"); 
      document.form.username.focus();  
      //return   false;   
      }   
      if(document.form.password.value.length==0)
      {window.alert"请输入您的密码!";
      document.form.password.focus();
      //return false;
      }
      fm.submit();
      }   -->
    </script>
    <form action="chekadmin.asp" method="post" name="form" target="_self" id="form" onsubmit="checkform(this);return false;">
      

  10.   

    function checkform(this) 错了,这里改成function checkform(fm)
      

  11.   

    楼上的正解。JS关键子不能作为变量(无论是形参还是实参。)
    另就是可以听听ShadowSniper(欲练神功...(摘自《葵花宝典》)) 的意见。
    有function checkform(frm)效果执行要好些。
      

  12.   

    把两个 this 都去掉就OK了^^^
    呵呵