js 小记

  最近一直都在做网站,而且用到了我最弱最弱的js,我一度讨厌它,因为我不擅长这个~

  但是工作归工作,一定要研究的还是要研究,So,必须得调试了。

  最近一直在郁闷的一件事,为什么我调用了js了,判断前端的一些东西,页面为什么还是刷新,跟踪了下js,是没有问题的,很纳闷啊很纳闷。

     function checkinfo()

        {
            var username = document.getElementById("txtLoginName");
            var password = document.getElementById("txtPassword");
            var yanzheng = document.getElementById("txtYanzheng");
            if(username.value == "") {
              
                username.focus();
                return false;
            }
            if (password.value == "") {
             
                password.focus();
                return false;
            }
            if (yanzheng.value == "") {
            
            }
            return true;
            
        }

   <asp:Button ID="btnServer" runat="server"  class="dl_rbd_on"  OnClientClick="checkinfo()" onclick="btnServer_Click" />

   虽然js执行了,但是页面总是刷新,还是走了服务器端,让我很郁闷。

   在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. Return False 就相当于终止符,Return True 就相当于执行符。 在js中return false的作用一般是用来取消默认动作的。 

 

   解释:

①   asp:button解析后生成的HTML应该是: 
<INPUT TYPE="submit" > 
当事件里面有return 的时候,当返回值为False的时候,就会取消了事件的回调(Click事件)相当于CancleBuble 

当没有return 的时候,应该是默认回一个true了 

②在IE里面,事件是通过回调函数实现的(MS的.NET, IE, Win32在事件处理上都是一致的).如果没有return false了,就会接着往下执行,如果返回了一个false就跳出这个回调函数.

  <asp:Button ID="btnServer" runat="server"  class="dl_rbd_on"  OnClientClick="return checkinfo()" onclick="btnServer_Click" /> 

 

如果有幸被个高手看见,指点一下,从理论上讲,到底是为啥? 

 

posted @ 2011-03-15 20:43  依然乐观  阅读(348)  评论(3编辑  收藏  举报