我有以下内容:
<script type="text/javascript">
function CancelFormButton(button) {
$(button.form).submit();
}
</script>
<form onsubmit="alert('here');">
<input type="button" value="Cancel" onClick="CancelFormButton(this);" />
</form>
Run Code Online (Sandbox Code Playgroud)
单击"取消"按钮时,不会触发表单标记中的onsubmit.
该行成功提交表单:$(button.form).submit();但跳过alert('here');表单标记中的onsubmit.
这是正确的还是我做错了什么?
顺便说一句,在这种情况下,我想要这个功能,但我只是想知道我是否会在触发onsubmit的浏览器中遇到问题.
我正在尝试使用jQuery 处理元素submit事件form.
$("form").bind("submit", function() {
alert("You are submitting!");
});
Run Code Online (Sandbox Code Playgroud)
当表单提交时(作为回发的一部分,例如当我点击按钮或链接按钮时),它永远不会触发.
有没有办法让这项工作?我可以附加触发提交的各个元素的事件,但这不太理想 - 有太多的可能性(例如具有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> …Run Code Online (Sandbox Code Playgroud) 我试图在asp.net呈现的页面上附加一个事件处理程序到form.submit但没有成功.我想拦截每一个回发和doc.说我应该能够.难道我做错了什么?
$(document).ready(function() {
$("form").submit(function() {
alert('Form submit');
debugger;
});
});
Run Code Online (Sandbox Code Playgroud)