触发点击事件

时间:2018-04-10 16:17:09

标签: javascript jquery

基本上我想通过按键盘上的F2来保存我的记录。使用按钮提交功能工作正常,但我无法使用此F2键盘功能复制它。触发F2键盘没有问题,但我认为问题依赖于我的代码。

这是触发键盘上的F2的JQuery:

$(document).keyup(function (e) {
            var $this = $(this);
            var key = (e.keyCode ? e.keyCode : e.charCode);
            switch (key) {
                case 113:  //This will trigger the event once F2 on keyboard is press.
                    fncTrigger();
                    break;
                default:;
            }
        });

这是触发点击事件的功能:

function fncTrigger() {
        $('#btnSubmit').click();
    }

这很好用。它将触发该功能并将触发提交事件。不幸的是,在这个点击事件中,仍有一个条件会在提交表单之前检查我的逻辑:

<button type="submit" id="btnSubmit" onclick="fncFormValidation(this);"> Submit</button>

function fncFormValidation(frm) {
        var form = $('#frmCall');
        var inpObj = document.getElementById("frmCall");

        if (inpObj.checkValidity()) {
                        form.submit();
                    }
            } else {
                console.log('Please correct validation errors');
            }
            event.preventDefault();
        }
    }

如您所见,在需要提交表单之前,仍有一个需要检查的情况。

单击按钮时此功能正常,但当我按下键盘上的F2时,无论if-else的条件是否为真,它都会自动提交表单。 < / p>

我尝试使用event.preventDefault(),但是一旦按下键盘上的F2,它仍会提交表单。是否有一种方法可以遵循fncFormValidation中的条件并阻止在不满足条件时提交表单?

0 个答案:

没有答案
相关问题