2

我有一个大的 .aspx 页面,其中包含多个服务器控件。而且,这个 .aspx 页面还引用了一个 JavaScript 文件。我想在这个现有的 .js 文件中有一个 JavaScript 函数,它将在服务器发生任何回发之前被调用。

[注意:我看到另一篇文章提到如何在 JQuery 中执行此操作(如何在 ASP.NET 应用程序中使用 jQuery 捕获提交事件?),但我希望通过现有的 JavaScript 文件完成,而不是使用像JQuery这样的新技术]

[已编辑]使用 OnSubmit 处理程序的解决方案对我不起作用......因为它不会被服务器控件触发的回发调用。

4

1 回答 1

3

你需要这样的东西:

/* 
   usually there is only one form in asp.net, but if you know you can have 
   more than one, you can get main form with document.getElementById
*/
var form = document.getElementsByTagName("form")[0];     
if (form.addEventListener) {
    form.addEventListener('submit', functionThatShouldBeCalledBeforeSubmit, false); 
} else if (form.attachEvent)  {
    form.attachEvent('onsubmit', functionThatShouldBeCalledBeforeSubmit);
}

onsubmit任何时候提交表单,事件都会触发。不管怎样。

有关使用 JS 附加事件的更多详细信息:https ://developer.mozilla.org/en-US/docs/DOM/element.addEventListener

于 2012-11-09T17:53:41.887 回答