Quel événement dois-je arrêter supress IE de « dinging » quand je presse entrer dans une zone de texte?

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

Question

Sur formes simples avec une zone de texte en appuyant sur entrer soumet le formulaire (ce qui est idéal pour les formes de recherche facile)

Toutefois, sur un formulaire avec plusieurs champs, appuyez sur Entrée dans une entrée = zone « texte » ne rien faire (par exemple présenter) mais dans IE il « Dings » comme si vous avez essayé de supprimer un objet non effaçable.

La question est ... quel événement dois-je supprimer dans IE pour arrêter ce son? par exemple. si j'ai un formulaire nom d'utilisateur / mot de passe, je ne veux la touche Entrée pour soumettre le formulaire, mais je ne veux certainement pas le son « erreur ».

site Exemple avec le son: http://www.sears.com/shc/s/StoreLocatorView?storeId = 10153 & catalogId = 12605 Juste appuyez sur Entrée dans l'un des champs de texte. Ding !, Ding !, Ding!

Les utilisateurs non-IE, le son est le: Events Programme> de Windows> Par défaut Bip ( "Ding.wav Windows XP")

Était-ce utile?

La solution

Eh bien, il semble que cela fonctionne:

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

Autres conseils

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

Cela fonctionne, nous l'utilisons.

Il a raison. Le champ de texte que vous voulez, pas pour vous embêter avec la chanson ding

ajouter seulement

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

balise d'entrée pour vous

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

Mais ne le faites pas à soumettre ou entrée bouton ok. Seuls les champs de texte, de sorte que vous ne soyez pas ennuyé par ding! ding! maintenant. J'ai vérifié.

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

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

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

Je suppose que est contrôlée par OS et par conséquent, il ne peut pas être contrôlé en utilisant javascript.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top