comment éviter le double événement de clic sur le bouton soumettre
J'ai un bouton "soumettre" dans ma page. Parfois, quand je double clic double soumet évidemment, et le problème c'est que je suis d'enregistrer les informations dans la base de données donc je vais avoir des informations en double, et je n'en veux pas. J'ai essayé un peu de jquery code comme ci-dessous mais il ne fonctionne pas pour moi.
Voici mon bouton de la balise est:
HTML:
<input type="submit" id="btnSubmit" class="btn btn-large btn-success" style="padding-right:40px; padding-left:40px; text-align:center;">
Jquery:
$(document).ready(function()
{
$('#btnSubmit').dblclick(function()
{
$(this).attr('disabled',true);
return false;
});
});
Comment aller plus loin?Preventdefault ne fonctionne pas
$(document).ready(function () {
alert("inside click");
$("#btnSubmit").on('dblclick', function (event) {
event.preventDefault();
});
});
- Le problème est de dupliquer l'information, alors vous devez désactiver le bouton après avoir cliquez sur
- Double Possible de d'Éviter la double soumission de formulaires en jQuery
- cela semble être un xy problème
Vous devez vous connecter pour publier un commentaire.
Utiliser setTimeout de manière conviviale
Vous pouvez également utiliser, jquery
one()
pour y parvenir, cela déclenche l'événement qu'une seule fois et puis d'empêcher le gestionnaire d'événement.viens de mettre cette méthode dans vos formulaires, alors il sera de poignée double-cliquez ou plus de clics en une fois.
une fois la demande de l'envoyer, il ne sera pas autorisé à envoyer de nouveau et de nouveau la demande.
Ce que vous devriez faire est de désactiver le bouton sur la PREMIÈRE
mouseup
de l'événement et de le garder désactivé jusqu'à ce que votre appel ajax réussit.essayer cela,
essayer cette
JS:
preventDefault()
cesse de l'événement d'origineViolon: http://zeering.in/aE6EpDZ6UPU=/Prevent-Double-Click-event-by-disabled-Button-using-JQuery
Mais pour la meilleure solution, je me réfère à ce post
de jQuery() déclenche l'événement attaché gestionnaire d'une fois pour chaque élément lié, puis supprimer le gestionnaire d'événements.
Si, pour une raison qui ne remplit pas les exigences, on peut aussi désactiver le bouton entièrement après qu'il a été cliqué.
Si vous soumettez un formulaire; événement.preventDefault() qui va empêcher le formulaire de soumission de la première fois. Si vous désactivez le bouton sur 'cliquez sur' la forme ne se soumettent pas car le bouton est maintenant désactivé. De toute façon, la forme ne sera jamais soumettre.
Ce que vous voulez faire est d'arrêter le formulaire soumis deux fois, plutôt que le bouton ne soit cliqué deux fois.
Essayez ceci:
Sur le formulaire de soumission, comme lors de la toute soumettre le bouton a été cliqué, il va chercher pour n'importe quel autre bouton soumettre le formulaire et de le désactiver. Assurez-vous de définir l'action à la vôtre.
J'ai couru dans cette question, comme je l'ai été de tenter de prévenir la double cliquant de soumettre le formulaire boutons.
Il s'avère jQuery a une façon d'agir sur submit d'un formulaire.
Ce qui a permis le soumettre action, ainsi que le bouton de devenir invalide après le premier clic.
essayer cette
JS: