OnClientClick="return false;" 要刷新,不知道为什么

darey_dry 2007-03-20 05:41:22
随便新建一个文件,就放一个BUTTON
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return false;" />
点了要提交服务器!要刷新!打开以前的工程看看以前的类似用法return a(),a()里面又return false不刷新的啊?为什么我现在这么弄就要刷新了?
...全文
1196 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxin7786 2012-08-02
  • 打赏
  • 举报
回复
我也碰到这样的情况,后来查出来发现原来是有脚本代码写错了,程序读到错的时候自动返回true了。
jcqiuzhihua 2011-09-06
  • 打赏
  • 举报
回复
刚才也遇到过同样的问题,结果检查完了是自己粗心大意。

请确认你的form表单里面无<input type="submit">,submit他默认会自动提交表单,即使你表单无提交地址,不管你以下的任何函数,不会管你的return false,它只管提交表单。
js114 2008-12-29
  • 打赏
  • 举报
回复
解决方法如下:

<asp:Button ID="btn_Login" runat="server" OnClientClick="return validate();" OnClick="btn_Login_Click" />

function validate(){
var u=document.getElementById("txt_User");
if(u.value==""){
alert("用户名不能为空!");
u.focus();
return false;
}
return true; //可要可不要
}

这样用户名为空时,执行本地事件validate(),不会刷新页;反之执行btn_Login_Click()刷新页面
hdshen 2007-03-21
  • 打赏
  • 举报
回复
是你设置得问题,
看你生成出来的html

<input type="submit" name="Button1" value="Button" onclick="return false;" id="Button1" />
type 是 submit 肯定是要提交的

修改下你的asp的 button 属性吧
hotphen 2007-03-20
  • 打赏
  • 举报
回复
代码本身没有问题,其实是你的IE除了问题,你把你电脑上的flashget软件卸载了肯定正常了。
phisy 2007-03-20
  • 打赏
  • 举报
回复
是你的IE有问题啦..脚本在你的电脑上已经不起使用了..你可以去任何一个网站上试一下..有些脚本验证的对你无效..
xingdongfang 2007-03-20
  • 打赏
  • 举报
回复
bt.Attributes.Add("onclick", "javascript:if(!confirm('天呐,你可以在这里测试了')){return false;}");
darey_dry 2007-03-20
  • 打赏
  • 举报
回复
不过我是体会到了 一切客户端鉴定真的确实是不可靠的 最终还是要在服务器端再鉴定一次来确保安全性
nutpp 2007-03-20
  • 打赏
  • 举报
回复
更新你的flashget
darey_dry 2007-03-20
  • 打赏
  • 举报
回复
to IT_zen(我在奈何桥边开了家饭店,欢迎各位光临--本店招牌菜:孟)
那源代码是IE打开页面后的HTML源代码 不是我写的aspx代码

哎 公司XP盘居然被我回家了 正在痛苦的下载ing...
IT_zen 2007-03-20
  • 打赏
  • 举报
回复
<input type="submit" name="Button1" value="Button" onclick="return false;" id="Button1" />
改为
<input type="Button" name="Button1" value="Button" onclick="return false;" id="Button1" />

然后你再写提交的事件,
darey_dry 2007-03-20
  • 打赏
  • 举报
回复
哦 那我先重装一下IE吧 我是走投无路了 任何可能的方法都要试一试
  • 打赏
  • 举报
回复
设置你的 button 的 UseSubmitBehavior 属性为 false,大概可以避开那种按钮。实际上,可以将所有的button的这个属性都设置为false,其产生的html要比为true时更更标准,是使用__doPostback的脚本函数的。

另外,既然别人的浏览器没有这个毛病,可能你的浏览器被一些拦截ie窗口事件的插件给搞废了。有时间一一卸载那些自动拦截窗口下载文件、弹出广告等行为的插件,看看哪个有毛病。
darey_dry 2007-03-20
  • 打赏
  • 举报
回复
to RunUpwind()
还是要刷新
RunUpwind 2007-03-20
  • 打赏
  • 举报
回复
将你的代码改成这样:

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD id="Head1">
<title>Untitled Page</title>
<script runat="server" language=C#>
public void Page_Load()
{
if (IsPostBack)
{
Response.Write("我的天啊!为什么要刷新???");
}
Button1.Attributes.Add("onClick","return false");
}
</script>
</HEAD>
<body>
<form id="form1" runat="server">
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
</HTML>
vfan2010 2007-03-20
  • 打赏
  • 举报
回复
生成出来的HTML也不刷新,怀疑和你的环境有关。
darey_dry 2007-03-20
  • 打赏
  • 举报
回复
显示每个脚本错误的通知 打钩了,再试试,没什么反应,跟以前一样 没收到错误通知
飘落寒冰 2007-03-20
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
你把这个去掉试一下.
我以前有个问题是有他引起的.
飘落寒冰 2007-03-20
  • 打赏
  • 举报
回复
生成出来的HTML也不刷新,怀疑和你的环境有关。
wang520d 2007-03-20
  • 打赏
  • 举报
回复
IE 工具>>Internet 选项>>高级
加载更多回复(18)

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧