我有一个ASP.Net表单,在呈现时看起来如下所示(为简洁起见,删除了许多标记行):
<form onsubmit="document.body.style.cursor='wait';showLoader();" action="mypage.aspx">
<!-- form elements and controls -->
<input type="submit" />
</form>
在mypage.aspx.cs
Page_Load
我正在做的事情:
if(Page.IsPostBack)
{
Foo();
} else {
Bar();
}
Quux();
如果不使用Chrome开发工具修改HTML页面,如果我提交表单,则会执行Bar()
。但是,如果我使用自己的表单删除或替换表单中的onsubmit
属性,ASP.Net认为该页面正在回发并执行Foo()
。
我发现这种行为很奇怪,因为onsubmit
中的内联JS代码不会更改与表单提交相关的任何内容。它的功能只是在表单重新加载时添加一个加载GIF。我可能会遗漏一些东西吗?
答案 0 :(得分:1)
尝试添加常规按钮,然后从中调用您的gif功能,而不是添加submit
按钮:
<input type="button" onclick="document.body.style.cursor='wait';showLoader();" value="Click Me" />
这不会发布任何内容,这就是你想要的。 <input type='submit'>
将始终导致回发,除非您使用JavaScript取消它。
JSFiddle:http://jsfiddle.net/0gd8t7ew/