我在html页面上绑定了一个用于提交表单的viewmodel。
当我提交表单时,viewmodel本身将显示为空,但视图模型中的可观察项目已填充。
因此我无法将viewmodel发布到服务器,因为它将显示为null。
请帮忙!
我的HTML:
<p>First name:<input data-bind='value: firstName' /></p> <p>Last name:<input data-bind='value: lastName' /></p> <p><button data-bind='click: saveUserData'>Submit</button></p>
我的剧本:
function PersonViewModel() { var self = this; this.firstName = ko.observable(); this.lastName = ko.observable(); this.saveUserData = function () { alert(ko.toJSON(self)); // alerts '{}' i.e. nothing alert(ko.toJSON(self.firstName())); // alerts value of the firsTname //do the post here }; }; ko.applyBindings(new PersonViewModel());
答案 0 :(得分:0)
我找到了这个问题的根源,并在此处发布解决方案,以便在遇到类似问题时对任何人都有帮助。
解决方案:文档准备好后执行绑定( applyBindings 函数调用)。即,
$(document).ready(function(){ ko.applyBindings(new PersonViewModel()); });
谢谢!