如何在 AngularJS 中单击编辑按钮之前禁用输入文本?
How to make input text disabled until edit button is clicked in AngularJS?
我已经创建了一个编辑按钮和一个表单。我无法禁用我的输入
直到点击编辑按钮。
我只想禁用输入,当用户单击编辑按钮时,他们应该能够编辑文本。
Here is my code:
<div ng-controller="MyCtrl">
<a class="edit" ng-click="inactive = !inactive">Edit</a>
<form>
<b>First Name:</b>
<input type="text" ng-disabled="inactive" ng-model="input1" value="John">
<br>
<b>Last Name:</b>
<input type="text" ng-disabled="inactive" value="Smith">
<br>
<b>Email:</b>
<input type="email" ng-disabled="inactive" value="jsmith@email.com">
</form>
</div>
App.js
function MyCtrl($scope) {
$scope.inactive = false;
}
您可以添加
ng-点击="changeStatus()"
在你 angular 模板中。
完整代码:
var app = angular.module("Portal", ['ngRoute']);
app.controller('MyCtrl', ['$scope', function($scope) {
$scope.inactive = true;
$scope.changeStatus = function() {
$scope.inactive = !$scope.inactive;
};
}]);
要修复您的代码,您必须反转布尔变量:
function MyCtrl($scope) {
$scope.inactive = true;
}
但要以更简洁的方式禁用整个表单输入,请将所有输入放入带有 ng-disabled
的字段集中,并从每个输入中删除 ng-disabled
...
<form>
<fieldset ng-disabled="inactive">
<b>First Name:</b>
<input type="text" ng-model="name"><br>
<b>Last Name:</b>
<input type="text" ng-model="lastname"><br>
<b>Email:</b>
<input type="email" ng-model="email">
</fieldset>
</form>
我已经创建了一个编辑按钮和一个表单。我无法禁用我的输入
直到点击编辑按钮。
我只想禁用输入,当用户单击编辑按钮时,他们应该能够编辑文本。
Here is my code:
<div ng-controller="MyCtrl">
<a class="edit" ng-click="inactive = !inactive">Edit</a>
<form>
<b>First Name:</b>
<input type="text" ng-disabled="inactive" ng-model="input1" value="John">
<br>
<b>Last Name:</b>
<input type="text" ng-disabled="inactive" value="Smith">
<br>
<b>Email:</b>
<input type="email" ng-disabled="inactive" value="jsmith@email.com">
</form>
</div>
App.js
function MyCtrl($scope) {
$scope.inactive = false;
}
您可以添加 ng-点击="changeStatus()" 在你 angular 模板中。
完整代码:
var app = angular.module("Portal", ['ngRoute']);
app.controller('MyCtrl', ['$scope', function($scope) {
$scope.inactive = true;
$scope.changeStatus = function() {
$scope.inactive = !$scope.inactive;
};
}]);
要修复您的代码,您必须反转布尔变量:
function MyCtrl($scope) {
$scope.inactive = true;
}
但要以更简洁的方式禁用整个表单输入,请将所有输入放入带有 ng-disabled
的字段集中,并从每个输入中删除 ng-disabled
...
<form>
<fieldset ng-disabled="inactive">
<b>First Name:</b>
<input type="text" ng-model="name"><br>
<b>Last Name:</b>
<input type="text" ng-model="lastname"><br>
<b>Email:</b>
<input type="email" ng-model="email">
</fieldset>
</form>