gpt4 book ai didi

javascript - 使用 Javascript 检测取消的表单帖子

转载 作者:行者123 更新时间:2023-11-28 03:20:02 25 4
gpt4 key购买 nike

我正在从事一个具有大量抽象的 Web 项目 - 大量代码隐藏在 View 模板、公司内部 javascript 库等中。

我被要求“劫持”表单提交按钮以在提交表单时禁用它们,以禁止额外的点击。问题是,我仍然必须提交按钮,因为它在我们系统的 99% 中用作表单输入(不是最佳实践,但我没有编写该代码!)

我所做的是当用户单击“保存”时,使用 jQuery 隐藏了该按钮,并在其位置放置了一个用微调器图标禁用的完全相同的副本:

function showSpinningButton(button){
$(button).hide();

clone = $(button).clone();

clone.prop('disabled', true);

$(button).parent().append(clone);
clone.show();
}

这适用于标准用例,但小众案例是验证 - 我无法检测何时表单无效以及按钮需要重置为标准。这尤其麻烦,因为所有验证都是在我不允许修改的面向外部的 Javascript 库中完成的。

要点是:是否有一个 DOM 事件在已提交的表单被取消时触发(即 onclick="return false;"),我可以附加一个处理程序来重置按钮?

最佳答案

您可以在验证函数上使用包装器:

var oldHandler = form.prop("onsubmit");
form.removeProp("onsubmit").submit(function(e) {
var result = oldHandler.call(this, e);
if (result == false) {
// reset your button
}
return result;
});

关于javascript - 使用 Javascript 检测取消的表单帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24959843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com