我可以通过编程方式触发knockout viewmodel更新吗?

时间:2012-11-13 08:05:13

标签: forms binding knockout.js

我编写了一个表单,其中包含各种值绑定和背后的淘汰视图模型。表单由AJAX帖子提交(由表单按钮上的点击绑定触发)。我注意到,在文本字段中进行更改之前,模型未正确更新,将光标留在其中并直接单击提交按钮。

我知道值绑定的“afterkeydown”选项,但我不想使用它,因为它也会在每次击键时触发我的验证。有没有办法在我的ajax提交函数中以编程方式强制模型更新?

1 个答案:

答案 0 :(得分:1)

尝试使用提交绑定而不是点击:

<form data-bind="submit: doSomething">
    ... form contents go here ...
    <button type="submit">Submit</button>
</div>

<script type="text/javascript">
    var viewModel = {
        doSomething : function(formElement) {
            // ... now do something 
        }
    };
</script>

提交时的文档页面: http://knockoutjs.com/documentation/submit-binding.html