【发布时间】:2021-02-18 18:54:02
【问题描述】:
我正在使用 jQuery 在我的提交按钮被点击后添加一个“禁用”属性。
$('#submit-button').click(function () {
setTimeout(function () {
$('#submit-button').attr('disabled', 'disabled')
}, 50);
})
我正在使用重力形式,并在单击时使用 AJAX 生成微调器图像,这就是我使用 setTimeout 函数的原因。
这在第一次单击提交按钮时有效。如果条目通过验证,则没有问题,加载禁用属性,然后进入确认页面。
问题是当验证失败时,页面刷新并显示错误(例如未正确填写)然后单击提交按钮不会触发jQuery单击功能以添加禁用属性
【问题讨论】:
-
仅使用您提供的 sn-p 很难解决此问题。
-
可能是一个事件委托问题,或者可能是由于
#submit-button如其名称所暗示的那样提交表单时缺少调用preventDefault()。如果不查看所有相关代码,我们将无法帮助您。不过,超时本身似乎有点多余。 -
使用
function(ev) {而不是作为你的第一个函数体行:ev.preventDefault();- 并删除 setTimeout - 这是不必要的。
标签: javascript jquery wordpress gravityforms