1

在表单中,我们有一个文本框和一个链接按钮。在此文本上的输入键将不得不触发链接按钮单击。

我添加了这样的js代码。

JS:

$(".SearchClass").keyup(function(event) {
        if (event.keyCode == 13) {
            eval($('.SearchButtonClass').attr('href'));
        }
    });

aspx:

<asp:LinkButton ID="lnkBtnSearch" runat="server" OnClick="lnkBtnSearch_Click" CssClass="SearchButtonClass"></asp:LinkButton>
<asp:TextBox ID="txtSearch" CssClass="SearchClass" runat="server"></asp:TextBox>

这在 IE 中按预期工作,但在 Firefox 中不起作用。在 firefox on 按钮单击它只是重新加载页面。

编辑:在使用 firebug 脚本调试器进行调试时,在 enter 按键时,它没有进入 keyup 功能

4

1 回答 1

0

在 FireFox 中,回车键触发表单提交。您需要防止这种情况发生 - 例如:

$($(".SearchClass").get(0).form).submit(function(evt) {
  evt.preventDefault();
});

但是,如果您有其他提交表单的方式(如提交按钮),那么您还必须以编程方式从这些元素提交表单,因为此代码将阻止所有其他表单提交方法。

同样对于您的链接点击事件,只需尝试以下操作:

$(".SearchClass").keyup(function(event) {
    if (event.keyCode == 13) {
        location.href = $('.SearchButtonClass').attr('href');
    }
});
于 2012-05-08T11:37:19.020 回答