2016-08-04 4 views
2
<form role="form" id="myForm" name="myForm"> 
    <input class="form-control" ng-model="firstName" type="text" /> 
    <input class="form-control" ng-model="lastName" type="text" /> 

<button class="btn btn-info" ng-disabled="myForm.$pristine">cancel</button 
<button class="btn btn-primary" ng-disabled="myForm.$pristine">update</button 
</form> 

テーブルにデータのリストがあるとします。 データをクリックすると、モーダルにデータ(firstNameとlastNameの例)がポップアップ表示されます。フォームに変更がない場合にボタン[更新]を無効にする方法

モーダルの中にEDITボタンがあります。これをクリックすると、他の2つのボタン、すなわちCANCELUPDATEが表示されます。私は、FORMでまだ変更が行われていない間に、更新ボタンを無効にしたいと思っています。 $pristineを使用することにより

は、私は解決策を見つけましたが、一つの問題があります:

私はデータを編集し、(現在のデータをリセットすることで)、それをキャンセルすることを決定しようとすると、次の時間私はEDITUPDATEボタンをクリックしてくださいは、まだデータが変更されていなくても、すでに有効になっています。

解決方法はありますか?

答えて

0

オンにすると、フォームが初期化されます。 $ pristineをtrueに戻し、ボタンを無効にします。

<button class="btn btn-info" ng-disabled="myForm.$pristine" ng-click="myForm.$setPristine()">cancel</button 

ために、私はすべてのフィールドをリセットするためにコントローラに機能を追加し、効果的にフォームをリセットバック手付かずの形態を設定ボタンをキャンセルします。

+0

ありがとうございます:D –

関連する問題