ras*_*adb 31 html javascript angularjs
我已经浏览了整个网络,包括几个堆栈溢出示例,以解决问题.具体来说,我试过这个:
var disableButton = function() {
document.getElementById('<%= btnSubmit.ClientID %>').disabled = true;
}
$scope.isDisabled = false;
var someFunc = function() {
$scope.isDisabled = true;
}Run Code Online (Sandbox Code Playgroud)
<button OnClientClick="disableButton()" type="submit">Submit</button>
<button ng-disabled="isDisabled" type="submit">Submit</button>Run Code Online (Sandbox Code Playgroud)
两者都没有像宣传的那样工作.还有其他建议吗?请仅提供Angular建议.谢谢.
Wah*_*kar 49
你非常接近答案.你唯一错过的就是someFunc()使用按钮调用按钮ng-click.
另一个问题是,在你的控制器中,功能应该是$scope.someFunc()和不是var someFunc()
工作示例: 您的index.html应该是:
<html>
<head>
<script data-require="angular.js@1.3.15" data-semver="1.3.15" src="https://code.angularjs.org/1.3.15/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
<script src="application.js"></script>
</head>
<body ng-app="demo" ng-controller="demoController">
<button type="submit" ng-disabled="isDisabled" ng-click="disableButton()"> Click me to disable myself</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
你的控制器application.js就像:
angular.module('demo', [])
.controller('demoController',function($scope){
$scope.isDisabled = false;
$scope.disableButton = function() {
$scope.isDisabled = true;
}
});
Run Code Online (Sandbox Code Playgroud)
Aru*_*osh 12
另一种方法是编写一个禁用提交按钮的指令
angular.module('myApp').directive('clickedDisable', function(){
return {
restrict: 'A',
link: function(scope, ele, attrs){
$(ele).click(function(){
$(ele).attr('disabled', true);
});
}
};
Run Code Online (Sandbox Code Playgroud)
并在HTML中
<button type="submit" clicked-disable></button>
Run Code Online (Sandbox Code Playgroud)
我不喜欢任何提供的答案,因为它们都isDisabled变量使全局范围变得混乱,为什么不这样做呢?
<button type="submit" ng-click="disableButton($event)">Submit</button>
Run Code Online (Sandbox Code Playgroud)
.
$scope.disableButton = function($event) {
$event.currentTarget.disabled = true;
};
Run Code Online (Sandbox Code Playgroud)
如果您需要在禁用之前提交表单.
此代码未经过测试
<form ng-submit="disableFormSubmitButton($event)">
<button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
.
$scope.disableFormSubmitButton = function($event) {
$($event).find('[type=submit]').prop('disabled',true);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82977 次 |
| 最近记录: |