我有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.

您是否尝试过将隐藏而不是显示的可见性更改为无?

尝试可见性=隐藏

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top