用enter键按下knockout js登录

时间:2016-11-25 02:59:34

标签: javascript knockout.js

按下回车键后,我一直试图让我的登录页面工作,但它不起作用。帮助任何人? 这是我的代码:

Javascript / viewModel:

ko.bindingHandlers.enterkey = {
    init: function (element, valueAccessor, allBindings, viewModel) {
        var callback = valueAccessor();
        $(element).keypress(function (event) {
            var keyCode = (event.which ? event.which : event.keyCode);
            if (keyCode === 13) {
                callback.call(viewModel);
                return false;
            }
            return true;
        });
    }
};

Mobile.Login = function (params) {
    var viewModel = {
        dxPasswordTB: {
            value: ko.observable(""),
            showClearButton: true,
            placeholder: ko.observable("PASSWORD"),
            mode: 'password'
        },
        validateAndSubmit: function (params) {
            var result = params.validationGroup.validate();
            ...
        },
    };
    return viewModel;
};

查看/ HTML:

<div class="row">
    <div class="col-sm-12 col-xs-12">
        <div class="form-group">
            <div class="input-group">
                <span class="input-group-addon"><i class="icon-password"></i></span>
                <div class="form-control">
                    <div data-bind="dxTextBox: dxPasswordTB, dxValidator: PasswordVR, valueUpdate: 'afterkeydown', enterkey: validateAndSubmit""></div>
                </div>
            </div>
        </div>
    </div>
</div>

知道这里出了什么问题吗?如果您这样做,请在此发表您的建议,谢谢!

1 个答案:

答案 0 :(得分:0)

我设法通过在devExpress的dxPasswordTB中使用onEnterKey来解决此问题。此外,我将params.validationGroup.validate();更改为DevExpress.validationEngine.validateGroup(),最终定义了值。

相关问题