【发布时间】:2011-04-09 11:21:14
【问题描述】:
我有一个用于防止表单多次回发的功能:
var submitted = false;
$(function() {
$('form').bind('submit', function(e) {
if (!submitted && CanSubmit(e)) {
submitted = true;
return true;
} else {
return false;
}
});
});
在CanSubmit 方法中,我需要询问被点击的按钮以确定我是否应该允许提交。
请注意,我无法绑定到特定的点击事件 - 有关详细信息,请参阅 this previous question。
在 Firefox 中,我可以使用 e.originalEvent.explicitOriginalTarget,但这显然在 IE 中不可用。
如何以跨浏览器的方式从e 参数中获取该值?
【问题讨论】:
-
CanSubmit 函数是验证函数吗?为什么你关心按下了什么按钮?给定表单上是否有多个按钮?
-
不,它最终是一个确定按下哪个按钮的函数。我很在意,因为有些按钮会导致帖子正常(取消、主页等),而其他按钮会导致帖子不正常(提交、编辑等)。是的,我在表单上有不止一个按钮。
标签: javascript jquery cross-browser jquery-events