有没有办法让表单的submit()操作将数据返回到调用它的词法范围?我想要这样的东西:
$(function() {
$("div").click(function() {
var submitReturn = $("form").submit();
// do stuff with submitReturn
...
// end do stuff with submitReturn
}):
$("form").submit(function(event) {
event.preventDefault();
// do stuff
...
// end do stuff
return someObj;
});
});
这不起作用。实际的submit(function)
注册只是将该函数注册为事件链中的回调,它不会接管整个事件。
我想我可以通过.click
事件使用$.post()
代替$('form').submit()
来实现这一点,这在现实世界的用例中是完全令人满意的选择,但现在我我很好奇我能做什么。
答案 0 :(得分:2)
您可以将其拆分为另一个功能:
$(function() {
function submit() {
// do stuff
...
// end do stuff
return someObj;
}
$("div").click(function() {
var submitReturn = submit();
// do stuff with submitReturn
...
// end do stuff with submitReturn
// Do you call $("form").submit() here anyways? Depends on the situation.
}):
$("form").submit(function(event) {
event.preventDefault();
submit();
});
});
(假设有一个表单。)如果它是异步的,你需要传递一个回调。