【发布时间】:2016-12-18 13:42:50
【问题描述】:
我有这样的示例代码:
HTML代码:
<body ng-controller="MainCtrl">
<form name="myForm">
<input name="myText" type="text" name="test" ng-model="mytext" required />
<button ng-click="save()" ng-disabled="myForm.$invalid">Save</button>
</form>
</body>
js代码:
var app = angular.module('angularjs-starter', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.save = function(){
//logic or http method
console.log("Test");
}
});
附上此链接中的代码:Click Here
逻辑:
- 默认保存按钮已禁用。
- 输入表单后启用按钮。
- 再次保存后禁用保存按钮。
- 用户再次输入需要启用保存按钮的文本。
注意:这里我只附加了一个输入,但我有多个输入字段。 此外,在保存功能中,我将逻辑数据保存到数据库中。
【问题讨论】:
-
你的问题到底是什么?
-
您需要检查表单是否脏,这很容易(myForm.$dirty),然后您在 save() 函数中将表单设置为原始,但您的 $scope 会搞砸up,所以你需要检查这个帖子:stackoverflow.com/questions/27191744/setpristine-not-working
标签: javascript angularjs validation