当我将一个值设置为type="date"
时,AngularJS将不知道元素是否具有值。以下是我的示例代码。AngularJS ng必需的ngDisabled不起作用
<script src="angular.min.js"></script>
<div name="mainForm" ng-app="appTesting" ng-controller="ctrlTesting" ng-form>
<input type="date" ng-model="dateField" name="dateField" id="dateField" required />
<button ng-disabled="mainForm.dateField.$error.required">A disabled button</button>
<button ng-click="setValue()">Set Value</button>
</div>
<script>
angular.module("appTesting", []).controller("ctrlTesting", function($scope, $filter) {
$scope.setValue = function() {
$scope.dateField = $filter('date')(new Date(), 'yyyy-MM-dd');
document.getElementById('dateField').value = $filter('date')(new Date(), 'yyyy-MM-dd');
};
});
</script>
将值设置为输入字段后,禁用的按钮将保持禁用状态。
有没有办法手动将$error.required
设置为true
? 或者,有没有办法在设置一个值后手动触发ng-disabled
检查?
是的,这是有效的答案。谢谢你,先生。 :) – juntapao