あなたがやりたいことはangularで簡単だと思うので、ここにさらにサンプルコードを追加する必要があると思います。上記のスニピットで、実際にフォームに「フォーム」という名前を付けましたか? 参照可能にするには、フォームに名前を付ける必要があります。また、フォームに名前を付けたと仮定して、フォーム全体の有効性をチェックしている場合は、次のように動作するはずです。
<form name="userForm" novalidate ng-controller="userController">
<input name="firstname" ng-model="user.firstname" required/>
<input name="lastname" ng-model="user.lastname" required/>
<button ng-click="next()" ng-disabled="userForm.$invalid">Next</button>
</form>
そして、JavaScript コードは次のようになります。
var app = angular.module("userApp", [])
.controller("userController", function($scope) {
var user = {
firstname: "Willy",
lastname: "Nilly"
}
$scope.user = user;
$scope.next = function() {
console.log("next")
}
});
これは、対応するプランカーへのリンク です。これはあなたが探しているものですか?
または、リモート呼び出しから読み込まれるデータに問題があり、promise が解決されている間、ボタンが有効になっていませんか? これがあなたが探しているものでない場合は明確にしてください。