8

テキスト ボックスが 1 つの単純なフォームでは、Enter キーを押すとフォームが送信されます (これは、簡単な検索フォームに最適です)。

ただし、複数のフィールドを持つフォームでは、input="text" ボックスで Enter キーを押しても何も実行されません (送信など) が、IE では、削除できないオブジェクトを削除しようとしたかのように "Dings" します。

問題は...この音を止めるためにIEで抑制する必要があるイベントは何ですか? たとえば、ユーザー名とパスワードのフォームがある場合、Enter キーでフォームを送信したいのですが、「エラー」の音は絶対にしたくありません。

音声のあるサイトの例: 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;}" >

ただし、送信またはボタン入力ではこれを行わないでください。テキストフィールドのみに対応しているため、煩わしくありません。ディン!今。私がチェックしました。

于 2010-02-20T07:41:56.910 に答える
-1

それはOSによって制御されていると思います。したがって、javascriptを使用して制御することはできません。

于 2009-06-04T19:25:30.023 に答える