【发布时间】:2012-03-28 03:05:29
【问题描述】:
我想在页面回发之前用 javascript 做一些事情。
如何在任何 asp.net 回发之前运行 javascript 函数?
$('form').submit(function () {
alert('hello');
});
它不起作用... :(
【问题讨论】:
标签: javascript asp.net postback
我想在页面回发之前用 javascript 做一些事情。
如何在任何 asp.net 回发之前运行 javascript 函数?
$('form').submit(function () {
alert('hello');
});
它不起作用... :(
【问题讨论】:
标签: javascript asp.net postback
在 2021 年,我完全摆脱了 jQuery。为此,我将 javascript 添加到我的页面:
document.forms[0].addEventListener('submit', e => {
if (conditionPreventingPostBack) {
e.preventDefault();
return false;
}
});
【讨论】:
我在asp.net forums 中找到了方法,它是代码隐藏中的一些代码。
只需将其添加到您的 Page_Load 事件处理程序中,将 javaScript 字符串更改为您想要发生的情况。
string scriptKey = "OnSubmitScript";
string javaScript = "alert('RegisterOnSubmitStatement fired');";
this.ClientScript.RegisterOnSubmitStatement(this.GetType(), scriptKey, javaScript);
【讨论】:
试试这个?
<form name="someform">
<input type="submit" value="" />
</form>
<script type="text/javascript">
document.someform.onsubmit = function ( e ) {
e = e|| window.event;
if ( !confirm ( "sure?") ){
e.returnValue ? ( e.returnValue = false ): e.preventDefault();
}
}
// then jquery version
$("form").bind("submit", function ( e ) {
if ( !confirm ( "sure?" ) ){
e.preventDefault();
}
})
</script>
【讨论】:
尝试:
$('form').submit(function () {
return confirm('you sure?');
});
除非您返回true,否则不会提交表单,在此之前您可以做任何您想做的事情。
当然,它不必是confirm() 电话。
【讨论】:
如果您想在 asp 的回发之前做一些客户端操作,请尝试使用 asp:button 的 OnClientClick 属性,例如:
<asp:Button OnClick="submit" OnClientClick="myPrePostbackFunction()" Text="Submit" runat="server" ... />
【讨论】: