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? p>
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. P>
En bref, que pourrait causer un bouton de penser que c'est le bouton par défaut de la page? P>
Merci, p>
mike k. p>
OK, voici mon point de vue de la page de test: p> Voici ce qui se passe en code: P > 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 ... strong> p> hmmmmm. p> p>
6 Réponses :
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. P>
La page de test I configurée émet un
S'il vous plaît voir ma propre réponse pour la différence dans IE8 et FF ... plus impair.
Ceci est la façon dont HTML fonctionne, si
S'il vous plaît voir ma propre réponse pour la différence dans IE8 et FF ... plus impair.
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. P>
S'il vous plaît voir ma propre réponse pour la différence dans IE8 et FF ... plus impair.
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; }
) Code HTML:
function submitform() { document.getElementById('master_form').submit(); }
généralement 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. P> P>
Je pense également qu'il est également important de noter que si vous utilisez utilise UTILISUMITBEHAVOR = "FALSE" code>, 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.