2016-08-04 26 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)。如何在表單中沒有更改時禁用按鈕[更新]

模式內有一個編輯按鈕,當你點擊它時,將出現另外兩個按鈕 - CANCELUPDATE。我想要將更新按鈕設置爲禁用,但FORM中沒有發生任何更改。

通過使用$pristine我找到了解決辦法,但有一個問題:

當我嘗試對數據進行編輯,並決定取消它(通過重置當前的數據),下一次我點擊EDITUPDATE按鈕即使數據尚未更改,也已啓用。

有沒有解決方案?

回答

0

關於取消將表格設置爲原始。這會將$ pristine設置回真,這應該禁用按鈕。

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

對於取消按鈕我在控制器重置所有字段,然後設置形式回質樸其有效地復位形式添加的功能。

+0

感謝你的朋友它的工作原理:D –

相關問題