9
votes

Entrez le bouton de déclenchement de la touche clic - mais je ne le veux pas

avoir un véritable head-scratchers ici: j'ai une page avec plusieurs contrôles à ce sujet, et un bouton ASP: ou deux. Lorsque je suis dans un contrôle et appuyez sur la touche Entrée, elle agit comme si j'ai cliqué sur le bouton Soumettre, que je ne veux pas réellement faire à ce stade à temps.

Le bouton n'est pas dans ASP: panneau Avec un ensemble par défautButton, il n'a pas d'attribut onClientClick, je ne vois pas de JavaScript qui veille pour la touche Entrée ... Pourquoi est-ce de tirer?

si je crée une page standard .aspx et mettre une zone de texte et un bouton sur celui-ci, exécutez-le et appuyez sur la touche Entrée, le bouton est ignoré, par exemple L'événement de clic ne tire pas. C'est le comportement que je m'attends, mais je ne reçois pas.

En bref, que pourrait causer un bouton de penser que c'est le bouton par défaut de la page?

Merci,

mike k.


OK, voici mon point de vue de la page de test: xxx

Voici ce qui se passe en code: xxx

Lorsque j'exécute la page et entrez du texte dans la zone de texte et appuyez sur Entrée - ha, regarderiez-vous cela: dans IE 8, l'événement Button est ignoré, par exemple La page vient de recharger, mais en FF, il soumet la forme ...

hmmmmm.


0 commentaires

6 Réponses :


8
votes

Je crois (et soyez corrigé pour être corrigé), mais si vous avez un formulaire, avec un bouton d'entrée de type Soumettre, alors lorsque vous appuyez sur Entrée, cela déclenche ce bouton clique sur.


2 commentaires

La page de test I configurée émet un aussi, et pourtant cela ne tire pas le bouton Soumettre: -S


S'il vous plaît voir ma propre réponse pour la différence dans IE8 et FF ... plus impair.



3
votes

Ceci est la façon dont HTML fonctionne, si contient un , frapper la touche Entrée Soumettrai le formulaire. Une solution: Comment empêcher Enter KeyPress pour soumettre un Web forme? ou ici: http: //www.cs. tut.fi/~jkorpela/forms/enter.html


1 commentaires

S'il vous plaît voir ma propre réponse pour la différence dans IE8 et FF ... plus impair.



1
votes

J'ai effectivement essayé de jouer avec elle dans le Firebug maintenant et il semble que c'est un comportement de navigateur standard, c'est-à-dire que cela n'a rien à voir avec JavaScript ou ASP. Si vous avez des touches de soumission et une zone de texte, il est simplement soumis en entrée. Modifiez le type de l'entrée sur le bouton pour l'éviter.


1 commentaires

S'il vous plaît voir ma propre réponse pour la différence dans IE8 et FF ... plus impair.



4
votes

Si vous ne voulez pas que la touche Entrée déclenche, vous pouvez peut-être ajouter ce code JS à votre page:

if (window.event.keyCode == 13)
{
    event.returnValue=false;
    event.cancel = true;
}


0 commentaires

0
votes

) Code HTML:

function submitform()
{
document.getElementById('master_form').submit();
}


0 commentaires

19
votes

généralement xxx

fonctionne. Mais vous devrez peut-être désactiver l'espace de retour dans votre application qui vous ramène à 1 page de votre histoire récente.


1 commentaires

Je pense également qu'il est également important de noter que si vous utilisez utilise UTILISUMITBEHAVOR = "FALSE" , il n'arrête pas seulement de répondre à la touche ENTER, mais il arrêtera le bouton Cliquez sur l'événement d'être soulevé dans le code derrière lorsque vous cliquez sur le bouton, ce qui peut ne pas être une conséquence envisagée.