今天在论坛看到一位朋友问了个问题
[code=HTML]
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
FormTest
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>
FormTest</h2>
<form id="MyForm" action="" οnsubmit="return Fun();">
<input type="button" value="Jq_submit" οnclick="test();" />
<input type="submit" value="submit" />
</form>
<script type="text/ecmascript">
function Fun() {
alert("验证");
return true;
}
function test() {
//$("#MyForm").submit(); //运行验证方法??
// document.getElementById("MyForm").submit(); //不运行验证方法??
}
</script>
</asp:Content>
[/HTML]
为什么用自带的submit按钮会触发onsubmit方法,而自己写个button按钮去触发submit事件的时候为什么用jquery方式它会触发onsubmit事件而直接用javascript方式却没有触发
后来查询了一些资料也才发现...以前还真没注意过...原来jquery的submit方法已经封装了在submit事件先去触发onsubmit,所以用那种方式提交和你直接用submit类型的按钮提交没什么两样,而你要自己写的按钮也触发onsubmit事件那只有自己在前面去手动触发了类似
[code=HTML]
document.getElementById("MyForm").onsubmit()而不是document.getElementById("MyForm").submit(),这样就算手动触发了onsubmit事件
[/HTML]