ASP.NET/JavaScript-为什么不';";返回False";不阻止回发?
我觉得我已经做了很多次这个场景了,而且它通常是有效的,所以我显然错过了一些东西 这是我的服务器端ASP.NET按钮:ASP.NET/JavaScript-为什么不';";返回False";不阻止回发?,javascript,asp.net,postback,Javascript,Asp.net,Postback,我觉得我已经做了很多次这个场景了,而且它通常是有效的,所以我显然错过了一些东西 这是我的服务器端ASP.NET按钮: <asp:Button ID="btnFoo" runat="server" Text="Foo" CssClass="button foo" OnClientClick="foo_Click();" /> 好吧,还有更多,但我把它删掉,以证明一点 当我单击按钮时,它调用客户端函数,并返回false 但它仍然会发回服务器,为什么 我基本上想通过点击按钮来实现: 进行
<asp:Button ID="btnFoo" runat="server" Text="Foo" CssClass="button foo" OnClientClick="foo_Click();" />
好吧,还有更多,但我把它删掉,以证明一点
当我单击按钮时,它调用客户端函数,并返回false
但它仍然会发回服务器,为什么
我基本上想通过点击按钮来实现:
当然,我可以将其更改为客户端按钮(input type=“button”),并在需要时手动启动回发,但我不需要这样做。或者我应该写
return
语句吗?所以当你点击按钮时,它return false
不允许提交表单
<asp:Button ID="btnFoo" runat="server" Text="Foo" CssClass="button foo"
OnClientClick="return foo_Click();" />
知道这很明显(拍了拍脑袋)。谢谢。我刚刚注意到,如果我执行“var passedValidation=new Boolean(false);return passedValidation”,它仍然会发回。但如果我只是返回false,它不会。世界跆拳道联盟?有什么想法吗?@RPM1984:使用布尔
构造函数,加上新建
关键字,创建一个布尔
对象包装器,在JavaScript中,当在布尔上下文中使用时,任何对象都被认为是真实的,例如:!!新布尔值(false)
==>true
,我建议您只需使用布尔值true
或false
文本,它们直接表示原始值…@CMS-是的,我想是这样的。好吧,那有点糟糕,哦,好吧,我会坚持基本原则。谢谢你的澄清。
function foo_Click() {
return false;
}
<asp:Button ID="btnFoo" runat="server" Text="Foo" CssClass="button foo"
OnClientClick="return foo_Click();" />