AngularJS禁用双击
我有一个按钮,点击联系服务器的问题。如果您双击(或任意次数的点击),您将呼叫服务器该次数AngularJS禁用双击,angularjs,Angularjs,我有一个按钮,点击联系服务器的问题。如果您双击(或任意次数的点击),您将呼叫服务器该次数 <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">{{ 'ADMIN.CONTENT.DELIVERIES.BODY.CLOSE' | translate }}</button> <a class="btn btn
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'ADMIN.CONTENT.DELIVERIES.BODY.CLOSE' | translate }}</button>
<a class="btn btn-danger" ng-click="vm.markDelivered()" ng-dblclick="return" ng-disabled="flag">{{ 'MANAGER.CONTENT.DELIVERIES.BODY.DELETE_PANEL.CONFIRM' | translate }}</a>
</div>
{{'ADMIN.CONTENT.DELIVERIES.BODY.CLOSE'| translate}}
{{'MANAGER.CONTENT.DELIVERIES.BODY.DELETE_PANEL.CONFIRM'| translate}}
我尝试过禁用
ng
,但由于某种原因,它不起作用,因为它说那里不允许该元素。我试着将a
更改为按钮,但看起来是一样的ng dblclick=“return”
也不执行任何操作。因此,使用引导按钮,您将无法使用禁用的ng。您必须这样做:
<div class="btn btn-default" ng-class="{'disabled': idDisabled}" ng-click="doSomething()">I'm a button!</div>
因此,使用引导按钮,您将无法使用ng disabled。您必须这样做:
<div class="btn btn-default" ng-class="{'disabled': idDisabled}" ng-click="doSomething()">I'm a button!</div>
我在这里看到了几个问题
首先,将锚定标记更改为按钮
其次,您似乎正在使用“controller as”语法。因此,您可能正在vm
中设置标志。但是,在html中,您正在$scope
中查找标志。将ng disabled=“flag”
更改为ng disabled=“vm.flag”
最后一行按钮如下所示:
{{'MANAGER.CONTENT.DELIVERIES.BODY.DELETE_PANEL.CONFIRM'| translate}}
添加一个正在演示的ng disabled
我在这里看到了几个问题
首先,将锚定标记更改为按钮
其次,您似乎正在使用“controller as”语法。因此,您可能正在vm
中设置标志。但是,在html中,您正在$scope
中查找标志。将ng disabled=“flag”
更改为ng disabled=“vm.flag”
最后一行按钮如下所示:
{{'MANAGER.CONTENT.DELIVERIES.BODY.DELETE_PANEL.CONFIRM'| translate}}
添加一个演示的ng disabled
使用一个简单的行为指令怎么样
函数oneTimeCallDirective($timeout){
var httpCallMock=(cb=()=>'ok')=>$timeout(cb,5000);
返回函数oneTimeCallPostLink(iScope,iElement){
让忙碌=虚假;
回程表
.on('click dblclick',函数(事件){
如果(忙){
return event.preventDefault();
}
忙=真;
console.info('嗯,呼叫');
返回httpCallMock()
.然后(()=>{
log('您可以再次开始调用');
})
.最后(()=>{
忙=假;
})
;
})
;
};
}
有棱角的
.module('测试',[]))
.directive('oneTimeCall',oneTimeCallDirective)
;代码>
点击这里
使用简单的行为指令怎么样
函数oneTimeCallDirective($timeout){
var httpCallMock=(cb=()=>'ok')=>$timeout(cb,5000);
返回函数oneTimeCallPostLink(iScope,iElement){
让忙碌=虚假;
回程表
.on('click dblclick',函数(事件){
如果(忙){
return event.preventDefault();
}
忙=真;
console.info('嗯,呼叫');
返回httpCallMock()
.然后(()=>{
log('您可以再次开始调用');
})
.最后(()=>{
忙=假;
})
;
})
;
};
}
有棱角的
.module('测试',[]))
.directive('oneTimeCall',oneTimeCallDirective)
;代码>
点击这里
就连我也有同样的问题,并用这种方法解决了
<div class="col-sm-4 form-group pull-right">
<input type="submit" name="Submit" class="btn btn-primary"
value="Submit" data-ng-disabled="myForm.$invalid"
ng-click="myForm.$invalid=true;vm.markDelivered()" />
</div>
因此,在第一次单击myForm时,$invalid=true将被设置,按钮将被禁用。因此,您将不会有多个对服务器端代码的调用。即使是我也遇到了同样的问题,并使用这种方法解决了这个问题
<div class="col-sm-4 form-group pull-right">
<input type="submit" name="Submit" class="btn btn-primary"
value="Submit" data-ng-disabled="myForm.$invalid"
ng-click="myForm.$invalid=true;vm.markDelivered()" />
</div>
因此,在第一次单击myForm时,$invalid=true将被设置,按钮将被禁用。因此,您将不会多次调用服务器端代码。必须使用什么?:)他想说使用
而不是
我也试过了,但它仍然告诉我那里不允许使用?哦,我知道问题是什么,我想,我会在上面编辑我的答案,只是更新我的答案。这是因为您正在使用Bootstrap,而且由于某些原因,Bootstrap无法与ng disabledHave配合使用什么?:)他想说使用
而不是
我也试过了,但它仍然告诉我那里不允许使用?哦,我知道问题是什么,我想,我会在上面编辑我的答案,只是更新我的答案。这是因为您使用的是引导,并且由于某些原因,引导不能与ng disabledit一起使用。它告诉我这里不允许使用属性ng disabled
?你知道这是为什么吗?我为一个按钮添加了一个可工作的按钮。注意,它对
不起作用。您必须将其更改为
它告诉我这里不允许使用属性ng disabled
?你知道这是为什么吗?我为一个按钮添加了一个可工作的按钮。注意,它对
不起作用。您必须将其更改为一个
惊人、流畅、简单且有效的表单验证不正确时,甚至可以禁用“提交”按钮。很高兴它对您有所帮助。。!!令人惊讶、流畅、简单且有效是的,如果表单验证不正确,甚至会禁用提交按钮。很高兴它帮助了您。。!!