根据文档(knockoutjs.com/documentation/submit-binding.html),knockoutjs的提交绑定具有以下优势:它可以捕获提交表单的其他方式,例如在输入文本框时按Enter键。 我的表单上有一个网格,一些用户正在尝试使用回车键从一个字段转到下一个字段。有没有办法避免在发生这种情况时提交表格?
答案 0 :(得分:9)
一种选择是在表单上添加一个keypress
处理程序,以吸收回车键。它看起来像是:
<form data-bind="event: { keypress: absorbEnter }, submit: test">
<div data-bind="absorbEnter: true">
<input data-bind="value: name">
<input type="submit" value="Go" />
</div>
</form>
JS:
var viewModel = {
name: ko.observable("test"),
absorbEnter: function(data, event) {
return event.keyCode !== 13;
},
test: function() {
console.log("submitting", arguments);
}
};
ko.applyBindings(viewModel);