8

在带有一个文本框的简单表单上,按 Enter 提交表单(这对于简单的搜索表单非常有用)

但是,在具有多个字段的表单上,在 input="text" 框中按 Enter 不会执行任何操作(例如提交),但在 IE 中它会“叮”,就好像您试图删除不可删除的对象一样。

问题是......我需要在 IE 中抑制什么事件才能停止这种声音?例如,如果我有一个用户名/密码表单,我希望输入键来提交表单,但我当然不想要“错误”声音。

带有声音的示例站点: http ://www.sears.com/shc/s/StoreLocatorView?storeId=10153&catalogId= 12605 只需在任何文本字段中按 Enter。叮!叮!叮!

非 IE 用户,声音是:程序事件 > Windows > 默认哔声(“Windows XP Ding.wav”)

4

5 回答 5

10

好吧,这似乎可行:

<!-- suppress sound (and suppress submit) -->
<input type="text" onkeypress="if(window.event.keyCode == 13){return false;}"/>

<!-- suppress sound (BUT allow submit) -->
<input type="text" onkeypress="if(window.event.keyCode == 13){this.form.submit();return false;}"/>
于 2009-06-04T19:36:17.320 回答
2
$("#logonForm").keypress(function (e) {
            if (e.keyCode == '13') {
                if (instance.Validate(instance)) {
                    document.forms["logonForm"].submit();
                    return false;  //Do not delete, suppresses ding in IE... :P
                }
            }
        });

这有效,我们使用它。

于 2011-06-17T07:42:39.180 回答
0

他是对的。你想要的文本字段,不烦你叮歌

只加

onkeypress="if(window.event.keyCode == 13){return false;}"

给你输入标签

<input type="whatever"  onkeypress="if(window.event.keyCode == 13){return false;}" >

但是不要在提交或按钮输入中这样做。仅限文本字段,因此您不会被 ding 惹恼!叮!现在。我检查了。

于 2010-02-20T07:41:56.910 回答
0
$("#txtSomething").keypress(function (e) {
        if (e.which == 13) {

            e.Handled = true; //This will prevent the "ding" sound

            //Write the rest of your code
        }
    });
于 2013-11-13T01:00:08.387 回答
-1

我猜这是由操作系统控制的,因此,它不能使用 javascript 来控制。

于 2009-06-04T19:25:30.023 回答