2014-09-23 56 views
10

我正在使用angular-xeditable編輯表單中的元素。我希望所有元素始終處於「可編輯」模式,例如在用戶開始編輯之前,不需要按下「編輯」按鈕。如何使angular-xeditable編輯狀態始終啓用

我一直試圖在我的控制器中使用$ show()來啓用窗體中的元素,但是它好像元素再次進入查看狀態,例如在嘗試保存值時使用「onaftersave」等等

爲了始終處於編輯模式,用戶從不需要啓用編輯以便開始編輯值,我該怎麼辦?

回答

5

我有這個相同的問題。即使在我的onaftersave函數結束時再次嘗試$顯示()表單時,它仍然不起作用。我懷疑在onaftersave函數運行後隱藏可見性,但我沒有真正檢查是否是這種情況。下面是我周圍如何到達:

$scope.$watch('yourFormName.$visible', function() { 
    $scope.yourFormName.$show(); 
}); 

現在,只要形式能見度變化爲隱藏,它只是再次顯示它無論何時它改變的。

+0

哎tcox,我面臨同樣的問題,我總是想表保持可編輯模式。我試過你的方式,但是當我調用$ scope.form.profileform。$ visible = true;或$ scope.form.profileform。$ show();它說未定義。我的表單名稱是name =「form.profileform」。你可以請幫忙 – Jayesh 2014-12-23 12:09:38

+0

我不知道你是否要說$ scope.form.profileform,只需$ scope.profileform – tcox 2015-01-27 18:54:31

1

如果你的表格是已經打開,而你只是想保持其提交後打開,你可以這樣做:

<form editable-form name="MyForm" onbeforesave="saveMyData()" onaftersave="keepFormOpen()"> 

和功能keepFormOpen()將是這個樣子:

$scope.keepFormOpen = function() { 
    return "fake error message"; 
} 

這樣做實質上是在您已經保存數據之後給出了一個假的錯誤消息。此錯誤消息會中斷表單關閉過程,但由於它在您保存數據後纔會調用,因此不會影響以前的提交。

+0

謝謝。我很高興..它的工作..你做了我的一天。 – Jayesh 2014-12-23 12:13:35

+0

很高興能幫到你!如果它對你有用,不要忘記接受它;) – bajuwa 2014-12-23 16:02:45

7

可能嘗試在你的HTML添加shown=true

<form editable-form shown="true"> 
+0

它不起作用。 – Jayesh 2014-12-23 12:43:17

+0

這是爲我工作。謝謝很多:) – Sampath 2015-07-09 12:50:39

0

要真正保持開放的形式,我們可以做到以下幾點:

<form editable-form name="MyForm" onbeforesave="saveMyData()" onhide="MyForm.$show()">