我目前正致力于在发布后将表单重置为默认初始值。 我已经尝试并开始研究并按照以下方式提出解决方案,但随着表单字段的增长,它变得繁琐和重复。因此,我正在寻找一个更通用的解决方案,它能够将表单重置为初始ko.observable值集(无论是否为null),而不重置表单的值,如下所示。希望有人能够帮忙解决这个问题。
function ViewModel() {
var self = this;
self.valueA = ko.observable(); // for textbox,textarea.... binding
self.valueB = ko.observable("Hello"); // for textbox binding
self.valueC = // json for select option binding
self.valueD = // json for for checkbox binding
self.valueE = 3 // selected select option binding
.....
self.PostForm = $.ajax({
type: 'POST',
data: {},
complete: {
self.ValueA(null);
self.ValueB(null);
$('#checkbox1').val(3);
...
// turn validation message off
}
})
}
答案 0 :(得分:0)
您可以考虑创建一个模型对象来支持您的表单。重置只需要替换为新实例:
var Model = function(){
var self = this;
self.valueA = ko.observable();
self.valueB = ko.observable();
self.valueC = [];
self.valueD = [];
self.valueE = ko.observable(3);
};
function ViewModel() {
var self = this;
self.model = ko.observable(new Model());
self.PostForm = $.ajax({
type: 'POST',
data: {},
complete: {
self.model(new Model());
...
// turn validation message off
}
});
}