10
votes

Empêcher un bouton de soumettre la touche Entrée

J'ai deux boutons un avec id = ENTERTOSUBMIT et autre avec id = clicktosubmit. Lorsqu'un utilisateur a frappé l'Entrée Entrée, je veux le bouton "ENTERTOSUBMIT" pour soumettre le formulaire pas le bouton "clicktosubmit".

sur la même page, j'ai une textbox ID = Titre et sur la page Load i Masquer le bouton "ENTERTOSUBMIT", jusqu'à ce que l'utilisateur entre dans quelque chose dans la zone de texte, les utilisateurs peuvent appuyer sur la touche Entrée pour soumettre le formulaire.

Comment prépare le bouton "ClickTosubmit" pour soumettre lorsque les utilisateurs appuyent sur la touche Entrée?


0 commentaires

6 Réponses :


12
votes

Comment preven "clicktosubmit" bouton Pour soumettre lorsque les utilisateurs appuyent sur la touche Entrée? p>

Essayez ceci: P>

$("#clickToSubmit").on("keydown", function(e){
   if(e.keyCode === 13){
       e.preventDefault();
   }
});

0 commentaires

0
votes

Essayez ce code pour la zone de texte Entrez xxx

pour le bouton d'envoi xxx


0 commentaires

1
votes
    jQuery('#clickToSubmit').click(function(e){    
       if(e.keyCode==13){          
            e.preventDefault();
       }    
    });

0 commentaires

1
votes

Tout d'abord, vous devez vous assurer que les deux boutons ne sont pas de type Soumettre. Maintenant, sur ces deux boutons, vous pouvez appeler deux fonctions JavaScript différentes. Entertosubmit () et ClickTosubmit () Voir également que sur EnserSubmit (), vous lisez la touche Entrée Appuyez sur

si (e.keycode === 13) { formidaire (); }

et appelle formulaire.submit ()

pendant que sur ClickTosubmit (), vous faites une formulaire direct.Submit ()


0 commentaires

16
votes

Malheureusement, vous ne pouvez pas modifier le bouton d'envoi 'par défaut' dans HTML, c'est toujours la première entrée entrée / avec type Soumettre / image .

tandis que vous pouvez essayer d'attraper l'entrée keypress manuellement, il est très peu fiable de le faire, car l'entrée n'est pas toujours censée soumettre un formulaire, en fonction du type d'élément. Focus, (b) Si Maj / Ctrl + Entrée est utilisé, (c) Quels autres éléments sont sous la forme et (d) quel navigateur est-il. Si vous manquez une affaire, vous obtiendrez des soumissions accidentelles par défaut; Si vous frappez un cas, vous ne devriez pas, vous obtiendrez des soumissions accidentelles.

Il est donc préférable de mieux, lorsque vous souhaitez contrôler l'action de soumission par défaut d'un formulaire, pour mettre un bouton supplémentaire sous la forme du premier bouton Soumettre dans le formulaire. Si vous ne voulez pas que ce bouton soit affiché, vous pouvez le positionner avec une valeur négative de gauche gauche pour la repousser sur le côté de la page. (Ceci est un peu moche, mais cachez-le via affichage ou visibilité arrêtera de fonctionner dans certains navigateurs.)

Alors peut-être que vous pourriez "masquer" le bouton ENTER-TO-SOUMIS, ce qui le fait disparaître, mais en le poussant en le poussant sur la page où il ne peut pas être vu, puis attraper le Cliquez sur Event sur celui-ci à renvoie false et arrêter la soumission de formulaire.


0 commentaires

2
votes
    $('#formId').on('keyup keypress', function(e) {
          var keyCode = e.keyCode || e.which;
          if (keyCode === 13) { 
            e.preventDefault();
            return false;
          }
        });



Usually form is submitted on Enter when you have focus on input 
elements.
We can disable Enter key (code 13) on input elements within a form.
Also, As in some newer versions of Firefox the form submission is not 
   prevented, it's safer to add the keypress event to the form as well.

1 commentaires

Certaines explications sur ce morceau de code seraient probablement bénéfiques.