在asp.net anypostback之前做一些javascript
Posted
技术标签:
【中文标题】在asp.net anypostback之前做一些javascript【英文标题】:Do something javascript before asp.net anypostback 【发布时间】:2012-03-28 03:05:29 【问题描述】:我想在页面回发之前用 javascript 做一些事情。
如何在任何 asp.net 回发之前运行 javascript 函数?
$('form').submit(function ()
alert('hello');
);
它不起作用... :(
【问题讨论】:
【参考方案1】:在 2021 年,我完全摆脱了 jQuery。为此,我将 javascript 添加到我的页面:
document.forms[0].addEventListener('submit', e =>
if (conditionPreventingPostBack)
e.preventDefault();
return false;
);
【讨论】:
【参考方案2】:我在asp.net forums 中找到了方法,它是代码隐藏中的一些代码。
只需将其添加到您的 Page_Load 事件处理程序中,将 javaScript 字符串更改为您想要发生的情况。
string scriptKey = "OnSubmitScript";
string javaScript = "alert('RegisterOnSubmitStatement fired');";
this.ClientScript.RegisterOnSubmitStatement(this.GetType(), scriptKey, javaScript);
【讨论】:
+1 我知道这有多大了,但非常感谢!这对我帮助很大。【参考方案3】:试试这个?
<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>
【讨论】:
【参考方案4】:尝试:
$('form').submit(function ()
return confirm('you sure?');
);
除非您返回true
,否则不会提交表单,在此之前您可以做任何您想做的事情。
当然,它不必是confirm()
电话。
【讨论】:
很奇怪,你用什么浏览器测试?【参考方案5】:如果您想在 asp 的回发之前做一些客户端操作,请尝试使用 asp:button
的 OnClientClick
属性,例如:
<asp:Button OnClick="submit" OnClientClick="myPrePostbackFunction()" Text="Submit" runat="server" ... />
【讨论】:
我知道,但我在页面上有很多 asp 元素,我想在任何回发之前执行此代码,而不是特殊按钮或元素以上是关于在asp.net anypostback之前做一些javascript的主要内容,如果未能解决你的问题,请参考以下文章