按Enter键提交表单但会破坏可访问性

时间:2013-04-05 17:49:27

标签: jquery forms accessibility

我有一个HTML表单。我正在拦截提交按钮的激活,因为我需要运行一些javascript而不是正常的表单提交。

我添加了javascript,这样按下输入并单击提交按钮激活表单(我认为这是正常做法)。然而,这打破了可访问性。当用户选中表单外的另一个按钮或链接,然后按Enter键时,具有焦点的按钮即可激活。但它没有 - 表单按钮被激活。处理这个问题的标准方法是什么(我觉得我在这里缺少一些基本的东西)?

我用来捕获输入的简化版本(jQuery)....

    $("form").bind("keydown", function(e){
            if (e.which == 13) {
                e.currentTarget.blur();
                $("button").click();
                return false;
            }
         });

1 个答案:

答案 0 :(得分:2)

取代submit()操作,并使用event.preventDefault()立即取消操作:

$('form').on('submit',function(e) {
    e.preventDefault();
    // more code
});