我正在使用一些具有表单提交处理程序的现有代码:
function AjaxFormSubmit(e) {
[...]
var form = $(this);
[...]
}
要在我的视图代码中绑定处理程序,我有:
$('myForm').submit(AjaxFormSubmit);
我想要做的是在调用AjaxFormSubmit之前运行一些其他代码:
$('myForm').submit(function(e) {
doSomething();
AjaxFormSubmit(e);
});
问题是在AjaxFormSubmit中,对 $(this)的调用没有得到表单元素。实现这一目标的最佳方法是什么?
答案 0 :(得分:3)
您需要确保在正确的上下文中调用this
。
$('myForm').submit(function(e) {
doSomething();
AjaxFormSubmit.call(this, e);
});
答案 1 :(得分:2)
$('myForm').submit(function(e) {
doSomething();
AjaxFormSubmit.call(this, e);
});