Knockout.js - 防止多个表单提交

时间:2012-12-11 11:06:41

标签: javascript knockout.js

目前,我只使用了'禁用' ko绑定以在提交表单后禁用表单按钮和输入字段,但大多数添加将使用回车键完成。我注意到如果我多次按下回车键,每次都会触发添加功能。

有没有办法在viewmodel中检测添加功能中的按键?或者在不使用jQuery的情况下在KO中修复此问题的任何其他方法?

1 个答案:

答案 0 :(得分:1)

您可以在viem模型中添加一个标志,指示表单状态并禁止第二次提交:

function ViewModel(){
    var self = this;

    self.isSubmiting = ko.observable(false);

    self.clickFunc = function(){
        if (!self.isSubmiting())
        {
            self.isSubmiting(true);

            // Do submit
            console.log("submit");
        }
    }
}

这是一个小提琴:http://jsfiddle.net/JMLbV/