Welches Ereignis muss ich supress IE von „dinging“ zu stoppen, wenn ich in einem Textfeld eingeben drücken?

StackOverflow https://stackoverflow.com/questions/952511

Frage

Auf einfache Formen mit einem Textfeld Drücken der Eingabetaste sendet das Formular (und dies ist für die einfachen Suchmasken)

Allerdings auf einem Formular mit mehr Feldern, Pressen in einem Eingabe Enter = „text“ -Box wird nichts tun (zB abschicken) aber im IE es „Ding“, als ob Sie versucht haben, löschen eines undeletable Objekt.

Die Frage ist ..., welches Ereignis ich in IE zu unterdrücken, muß diesen Sound zu stoppen? z.B. wenn ich einen Benutzernamen / Passwort Form haben, ich will die Enter-Taste, um das Formular abschicken, aber ich will sicher nicht den „Fehler“ Klang.

Beispiel-Website mit dem Ton: http://www.sears.com/shc/s/StoreLocatorView?storeId = 10153 & CatalogId = 12605 Drücken Sie einfach in einem der Textfelder eingeben. Ding !, Ding !, Ding!

Nicht-IE-Benutzer, der Sound ist das: Programm Veranstaltungen> Fenster> Standard Beep ( "Windows XP Ding.wav")

War es hilfreich?

Lösung

Nun, es scheint, dass dies funktioniert:

<!-- 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;}"/>

Andere Tipps

$("#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
                }
            }
        });

Das funktioniert, wir nutzen es.

Er hat Recht. Das Textfeld Sie wollen, nicht, dass Sie mit ding Lied zu ärgern

nur hinzufügen

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

Sie Input-Tag

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

Aber nicht tut dies in einreichen oder Tasteneingabe ok. Nur auf die Textfelder, so bekommt man nicht genervt von ding! ding! jetzt. Ich überprüft.

$("#txtSomething").keypress(function (e) {
        if (e.which == 13) {

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

            //Write the rest of your code
        }
    });

Ich denke, das von O gesteuert wird und daher kann es nicht mit Hilfe von JavaScript gesteuert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top