我想防止使用angular.js提交多个表单。
当用户单击表单提交按钮时,提交按钮的值/标签应更改为“正在加载..”,按钮的状态将设置为“已禁用”,并且应以正常方式触发提交事件,从而导致向服务器提交呼叫。这样,用户将看到以下效果:
立即:提交按钮的值更改为“正在加载..”并被禁用
服务器响应后:向用户显示服务器请求的结果(而服务器响应的处理无需任何干预)
我制作了这个小玩意来表达我的意思。我的问题与此行有关:elm.attr('disabled',true);。这不仅会禁用按钮,而且还会阻止传播Submit事件。因此,我得到了一个禁用的按钮(期望的结果),但是表单没有被提交(期望的结果)。
elm.attr('disabled',true);
如果您对此行发表评论/取消评论,则可以看到行为的变化: elm.attr('disabled',true);
知道如何更改吗?
尝试$ timeout(angularjs函数)
$timeout(function(){ elm.attr('disabled',true); }, 0)