backbone keydown提交表单而不是调用所需的函数

问题描述 投票:0回答:1

我正在尝试使用keydown(enter)提交表单并通过我想要的函数发送它。但是当我按下回车键时,它会显示一个行为,就像提交HTML按钮的类型一样。这是我的BackboneJS代码:

$view.UserProfile_ConfirmPhoneNumber = Backbone.View.extend({
    el: "#confirmPhoneNumberForm",
    events: {
        "click #send-confirm-phone-number-code": "sendConfirmPhoneNumberCode",
        'keydown': 'keyAction',
    },
 keyAction: function (e) {
        var code = e.keyCode || e.which;
        if (code == 13) {
            sendConfirmPhoneNumberCode();
        }
    },
    sendConfirmPhoneNumberCode: function() {
//some code
}

这是我的HTML:

<form class="newRegister-formBox basketForm" id="confirmPhoneNumberForm" autocomplete="off">

            <input type="hidden" id="returnUrl" value="@ViewBag.ReturnUrl" name="ReturnUrl">
            <div class="newRegister-formBox">
                <div class="formElement newRegister-input">
                    <i class="fa fa-key loginIcone"></i>
                    <input autocomplete="off" type="text" name="code" id="code" class="form-control persianDigitInput" placeholder="enter code">
                </div>
                <div class="newRegister-button">
                    <button type="button" id="send-confirm-phone-number-code" class="animateBtn greenAnimateBtn">
                        <i class="fa fa-check"></i>
                        confirm
                    </button>
                </div>
            </div>
    </form>
backbone.js
1个回答
1
投票

尝试

 keyAction: function (e) {
    var code = e.keyCode || e.which;
    if (code == 13) {
        e.preventDefault();
        sendConfirmPhoneNumberCode();
        return false;
    }
},
© www.soinside.com 2019 - 2024. All rights reserved.