我有一个Rails Desive表单,它有javascript验证.当用户按下submit时,验证工作开始,用户将重新关注他们需要的表单.
但是,rails使用data disable with在单击按钮后禁用该按钮,因此在验证之后,用户不能再单击submit.我正在try 设置某种侦听器来判断按钮何时被禁用,等待一段时间以防止双击,然后重新启用按钮.
我try 过多次代码迭代,最新try 是:
$(document.on("ajax:success", "new_supplier", function() {
var button;
button = $(this).find('.btn-sign-up');
setTimeout((function() { return button.disabled=false; }),1);
});
但没有成功,之前我只是try 在按钮上添加一个侦听器:
var button = document.getElementById('btn-sign-up');
button.addEventListener("click", enableButton);
function enableButton() {
if (button.disabled)
{
window.setTimeout(enable(), 2000);
}
}
function enable() {
button.disabled=false;
}
但这失败了,因为它在禁用按钮的功能(隐藏在rails ether中)之前运行,因此无法工作.
我的提交按钮很简单:
<%= f.submit "Create my account", class: 'btn-sign-up', id: 'btn-sign-up' %>
有人能帮我吗?我想如果我能为这个页面禁用jQuery_ujs,它会起作用,但我不确定我是否能做到.