J'ai utilisé jQuery Tag-It pour que le champ e-mail soit tagué. J'essaie de vérifier si l'e-mail est valide ou non du côté serveur, dans mon cas, api.php
, ce qui rend la réponse comme:jQuery Tag-It événement BeforeTagAdded avec validation par e-mail
{"status": "OK"}
ou
{"status": "NG"}
Je voudrais rejeter les emails invalides de l'ajout dans le champ de saisie après vérification, donc j'ai mis un post AJAX à l'appel de l'API. Mais l'événement beforeTagAdded
requiert une réponse booléenne immédiate au lieu d'une réponse asynchrone. Voici mon code:
$('input[name=txt_email]').tagit({
beforeTagAdded: function(event, ui) {
if(!ui.duringInitialization) {
$.post('api.php', {
'request': 'check_email',
'entry': ui.tagLabel
}, function(response) {
if(response.status == 'OK') {
return true;
} else {
return false;
}
});
return false;
}
},
onTagExists (fn, callback) {
return false;
}
});
Comment puis-je modifier mon code pour rejeter les codes invalides?
MISE À JOUR Je sais que je peux mettre l'appel AJAX en mode synchrone, mais il est déconseillé car il est mauvais en termes d'expérience utilisateur.
Merci, mais comme on dit dans ma question, la mise en mode synchrone pour les appels AJAX (XHR synchrone) est dépréciée. J'ai besoin d'une autre solution. – Raptor