js 小记
时间:2011-03-15 来源:依然乐观
最近一直都在做网站,而且用到了我最弱最弱的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" />