表单,提交前确认confirm(),
比如下面这个按钮 <input type="button" value="删除" OnServerClick="fileDel_ServerClick" runat="server" /> 作用是按了后删除什么东西,想给他加个确认,即按了按钮后跳出一个确认框,确定后才执行,否则不执行。 于是按照网上的办法给他加个属性: onclick="return confirm('确定删除?');" 最后生成的HTML代码如下: <input onclick="return confirm('确定删除文章?'); __doPostBack('ctl07','')" type="button" value="删除" /> 但是没有作用,无论是确认还是取消,后面的__doPostBack()部分都没执行。 又在网上查了一下文章,说 onclick="return confirm('确定删除?');" 这样不行,必须: onclick="if(confirm('确定删除?')){}else{return false;};" 必须这样。 我试了一下,确实成功了。但是总感觉 onclick="if(confirm('确定删除?')){}else{return false;};" 又长又臭,于是做了个js函数: function confirmX(xxx) { if(confirm(xxx)){}else{return false;} }; 给相应的按钮加入这个属性: onclick="confirmX('确定删除?');" 结果这样,又出问题了,无论是确认还是取消,后面的__doPostBack()部分都会执行。 我的问题是,有没有一个简单优雅的办法解决这个问题?每个需要确定的按钮都加一个形如 onclick="if(confirm('确定删除?')){}else{return false;};" 的属性显得很臃肿,把它做成js函数后又没法用,或者是我函数写错了?
2010-08-12 08:22 网友采纳
onclick="confirmX('ctl07','');" function confirmX(a,b) { if(confirm("确定删除么?")){ __doPostBack(a,b) } else{return false;} }
为控件添加onclientclick事件 触发return confirm 为OnClientClick=“return confirm('确定?')” 如果想更方便,那就在页面基类中重写初始化事件,遍历page控件中的button控件,为该控件注册确认删除事件
评论 | 给力0不给力0
2010-08-12 09:03 冯益斌 | 十级
首先最好把input换成asp:button控件,这样可以同时使用onclick(服务器端事件)和onclientclick(客户端事件) <asp:Button ID="btnDelete" runat="server" Text="删除" onclick="btnDelete_Click" OnClientClick="return confirm('确认要删除?')"/>
参考资料: http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.button.onclientclick(VS.80).aspx
评论 | 给力1不给力0
2010-08-12 17:27 wangbenson | 五级
脚本定义一个类是myconfirm窗体 添加连个方法show,用于显示提示窗口 添加两个事件afterConfirm, afterCancel 脚本调用onclick的时候,创建myconfirm一个实例,并且绑定他的afterConfirm, afterCancel这两个事件,就是两个函数而已。 即可搞定你的问题吧 或者用现成的脚步库