J'ai des boutons d'image auxquels des gestionnaires d'événements jQuery sont attachés.Quel est le moyen le plus simple de réactiver une action submit() qui a été annulée avec 'return false'?
Je souhaite effectuer un appel AJAX dans l'événement click() pour déterminer si l'action doit être autorisée. Comme je fais un appel ajax async, je dois retourner 'false' pour annuler immédiatement l'événement et attendre la réponse.
$('[id^=btnShoppingCartStep_]').click(function() {
var stepName = this.id.substring("btnShoppingCartStep_".length);
$.ajax({
type: "POST",
url: $.url("isActionAllowed"),
data: "requestedStep=" + stepName,
dataType: "json",
success: function(data) {
if (data.allowed) {
// need to resume the action here
}
else {
AlertDialog(data.message, "Not allowed!");
}
}
});
return false;
});
Je dois trouver la meilleure façon de reprendre l'événement click si l'appel AJAX détermine qu'il devrait être autorisé.
Toute façon de faire ce que je peux venir avec semble maladroite, comme:
1) supprimer gestionnaire d'événements à partir des boutons
2) simuler un clic sur le bouton qui a été cliqué
Y a-t-il une bonne façon de faire cela qui me manque?
Pourquoi ne pouvez-vous vérifier que dans l'arrière-plan avant que l'utilisateur veut toujours cliquer sur « Soumettre » ? Envisagez également de faire une demande bloquée à la place. – vava
pourquoi n'essayez-vous pas de bloquer l'interface utilisateur [http://malsup.com/jquery/block/]? – TheVillageIdiot