繁体   English   中英

当任何输入字段上发生任何“输入”键事件时,单击最接近的提交按钮

[英]Click closest submit button when any 'enter' key event occurs on any input field

我在页面上有多个提交按钮。 我想要的是,如果用户在任何输入字段上按回车键,则应单击相关的提交按钮。 我尝试了下面的方法,但它甚至无法捕捉到输入字段上的按键。

提前致谢,

$('* input').keypress(function (e) {

      if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
            $(this).closest('input[type=submit]').click();

      }
});

尝试这个。 除非“提交”按钮位于DOM树的上方,否则.closest()无效。 相反,您可以在输入的parentNode内搜索它,也可以只提交表单(但是您可能没有form元素,因为否则这将是enter键的默认行为)。

$(document).ready(function() {
    $('input[type="text"], input[type="password"]').keypress(function (event) {
        if (event.keyCode == '13') { //jquery normalizes the keycode 

            event.preventDefault(); //avoids default action
            $(this).parent().find('input[type="submit"]').trigger('click');
            // or $(this).closest('form').submit();
        }
    });
});

完全不需要javascript!

输入键将按标准调用“隐式提交”。 当表单中有多个input [type = submit]时,第一个将被Enter隐式“单击”。 因此,您应该将默认按钮放在第一个。
如果要交换一些按钮,请使用CSS规则。

关于按钮和Enter键的一些有趣事实在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM