フォームが検証されると、自動的にフォームを送信しようとしています。
HTML
<form name="myForm" role="form" novalidate>
<div class="form-group">
<select class="form-control" name="location" ng-model='calc.location1' required>
<option value=7>Location1</option>
<option value=9>Location2</option>
<option value=5>Location3</option>
</select>
</div>
<div class="form-group">
<input class="form-control" type='number' name="Size" ng-model='calc.Size' placeholder="Sq ft" required>
</div>
<div class="form-group">
<input class="form-control" type='number' name="units" ng-model='calc.units' placeholder="Units in kWH" required>
</div>
</form>
コントローラー、私は私のフォームは、if文の内側にコードを提出挿入したいのですが、newValueは常にフォームの入力が空の場合であっても、真見せている
myapp.controller('demoController', ['$scope', function($scope, $document) {
$scope.$watch('myForm.units.$valid', function (newValue, oldvalue){
if(newValue) {
console.log(newValue);
}
})
}])
ページ読み込み時。
http://jsfiddle.net/cmyworld/EdCEW/のようなことをしようとしていますが、どこが間違っているのかわかりません。
フィドルが私のために正常に動作例です。 'model.name'にデフォルト値を設定すると、 'Model is Valid'というメッセージが表示され、' mode.name'が空の場合、警告が表示されない、または何か不足していますか? –
また、 'myForm。$ valid'を使ってすべてのバリデーションをチェックしたいかもしれません。 –
Fiddleはうまくいきますが、実際のアプリケーションでは動作していません.NewValueは常にtrueです。 1つの検証ですべての検証を試してみました。 – simba777