如何在ASP.NET应用程序中使用jQuery捕获提交事件?
我试图处理使用jQuery的表单元素的submit事件。
$("form").bind("submit",function() { alert("You are submitting!"); }); 这不会在表单提交时(作为回发的一部分,例如当我点击按钮或链接按钮时)触发。 有没有办法使这项工作?我可以附加到触发提交的单个元素的事件,但是这不太理想 – 有太多的可能性(例如,autopostback = true的下拉列表,键盘快捷键等) 更新:这是一个最小的测试用例 – 这是我的aspx页面的全部内容: <%@ page language="vb" autoeventwireup="false" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:scriptmanager id="ScriptManager" runat="server" enablepartialrendering="true"> <scripts> <asp:scriptreference path="/Standard/Core/Javascript/Jquery.min.js" /> </scripts> </asp:scriptmanager> <p> <asp:linkbutton id="TestButton" text="Click me!" runat="server" /></p> </div> </form> <script type="text/javascript"> $(document).ready(function() { alert("Document ready."); $("form").submit(function() { alert("Submit detected."); }); }); </script> </body> </html> 我得到“文档准备”警报,但不是“提交检测到”,当点击链接按钮。 解决方法
感谢,@肯布朗宁和@russau指向我的劫持方向__doPostBack。
我看到了几种不同的方法: >硬编码我自己的__doPostBack版本,并将其放在页面上,以便它覆盖标准版本。 前两个似乎不受欢迎的原因(例如,假设在将来有人需要添加自己的功能到__doPostBack)所以我已经去了#3。 这个addToPostBack函数是一个常见的pre-jQuery技术的变体,我用来向window.onload添加函数,它工作得很好: addToPostBack = function(func) { var old__doPostBack = __doPostBack; if (typeof __doPostBack != 'function') { __doPostBack = func; } else { __doPostBack = function(t,a) { if (func(t,a)) old__doPostBack(t,a); } } }; $(document).ready(function() { alert("Document ready."); addToPostBack(function(t,a) { return confirm("Really?") }); }); 编辑:更改addToPostBack,使 >它可以接受与__doPostBack相同的参数>正在添加的函数在__doPostBack之前发生>要添加的函数可以返回false以中止回发 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-identity-2 – asp.net mvc identity 2运行两个不同
- asp.net – 如何将CssClass应用于DataGrid HyperLinkColumn
- 如何从经典asp中的xml字符串中的元素中提取文本
- asp.net-mvc – ASP.NET MVC 3 Razor Intellisense
- asp.net中的TDD新手,我是否在正确的轨道上编写测试?
- asp.net core 系列 9 三种运行环境和IIS发布
- 如何清除代码背后的整个asp.net页面?
- ASP.NET开发人员试图学习Drupal和PHP
- ASP.NET Cookieless Forms在登录页面被加入书签时不设置coo
- asp.net – 如何将razor变量作为参数传递给jquery函数
- asp.net – Web.Config奇怪的部分?
- asp微信支付代码证书文件post_url.aspx和post_ur
- asp.net – Page enableEventValidation =“true
- 如何通过给定的项目值显示Motobit Multi.Diction
- asp.net-mvc – ASP.NET MVC不提供默认文档
- asp.net – 如何禁用表单身份验证
- asp.net – dbo.aspnet_Users和dbo.aspnetUsers之
- ASP.Net Forms身份验证在10分钟后注销用户
- asp.net-mvc – ASP.NET MVC模型在编辑器模板中绑
- asp.net core 读取连接字符串