如何在没有提交按钮的情况下使用Enter密钥提交表格
题
我有jquery a the Plass的所有提交按钮 按钮, ,并将它们各自使用类按钮变成锚点。
$("input.button").each(function(i) {
var anchorButton = $("<a class='"+this.className+"' href='#'>"+this.value+"</a>")
anchorButton.click(function(eventObject) {
$(this).blur().prev("input.hidden").click();
return false;
});
$(this)
.after(anchorButton)
.addClass("hidden")
.removeClass("button pill-left pill-center pill-right");
});
然后,我可以用CSS(跨浏览器)设计锚元素。只有一个问题。每当我按表单输入元素上的Enter键,表单不会提交。但是,如果我放下提交按钮,它将再次起作用。总之,除非我有一个可见的提交按钮(display!= none),否则我无法获取Enter/return键提交表格。
当我隐藏提交按钮时,如何按Enter按ENTER进行提交表格?
解决方案
$("input.button").keydown(function(event) {
if(event.keyCode == 13)
$("...find the form...").submit();
});
这应该起作用。
如果不尝试这样做:
$("..find the input button you hide..").css('position', 'absolute')
.css('top', '-1000px');
这比建议的要好 visibility: hidden
解决方案由于设置隐藏的可见性,该按钮仍将“占用空间”。
其他提示
只使用普通 form
在您的HTML中,包括提交 action
属性。然后,您将获得浏览器的默认行为并按下 进入 在表格中将提交它。然后,您不必使用jQuery将事件处理程序绑定到所有提交按钮。
您可以对此进行测试 Jsbin.
您是否尝试过将隐藏而不是显示的可见性更改为无?
尝试可见性=隐藏
不隶属于 StackOverflow