2016-02-02 87 views
0

在用戶發表了一篇文章後,我似乎無法弄清楚如何清除表單中的值。敲除綁定有沒有任何類型的重置?我在帖子的.done中嘗試了self.user = null,但這些字段沒有從表單字段中清除(視圖方面)。在視圖窗體域中敲除清除綁定

function CreateUserModal(userListViewModel) { 
    var self = this; 

    self.user = userModel; 
    self.errors = ko.validation.group(userModel); 
    self.userListViewModel = userListViewModel; 

    self.save = function() { 
     if (self.errors().length == 0) { 
      var userJson = ko.mapping.toJS(self.user); 
      $.post('/api/user', userJson) 
       .done(function() { 
        console.log('POST user.'); 
        self.userListViewModel.isCreateModalShown(false); 
        self.user = null; 
        self.userListViewModel.loadData(); 
       }); 
     } else { 
      console.log(self.errors()); 
     } 
    }; 
} 
+0

如果您發佈顯示綁定的HTML標記會很有幫助。 –

+0

添加了HTML標記,但我很困惑,爲什麼將它設置爲null只是不清除所有字段? – allencoded

回答

1

只是將用戶設置爲空將不起作用,因爲用戶不是可觀察的。 DOM通過可觀察的更改進行更新。如下更新您的代碼,它應該適用於您:

self.user = ko.observable(userModel); 
... 
// inside done callback 
self.user(null);