[英]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.