フォームを含み、DOM に非同期的に読み込まれるモーダル ウィンドウを含む AngularJS アプリケーションを構築しています (適切なボタンがクリックされたとき)。フォームは正常に機能しますが、有効かどうかを適切に確認できません。次に例を示します。
HTML
<div ng-app="myapp" ng-controller="MyCtrl">
<form novalidate name="myform" ng-submit="submitForm(myform)">
<input type="text" required ng-model="myname" />
</form>
</div>
JavaScript
var app = angular.module('myapp', []);
app.controller("MyCtrl", function($scope) {
$scope.submitForm(form) {
if(form.$valid) {
// Do http stuff here
}
};
});
このフォームが非同期で読み込まれる場合、フォーム変数の値は NaN になり、form.$valid は未定義になります。ただし、ページの残りの部分をロードすると、正常に動作します。AngularJS にフォームのスコープ変数を入力させる方法を知っている人はいますか? ありがとう!