Мне нужно fancybox для отображения подтверждающего сообщения после того, как пользователь отправит форму (с AJAX). Контроллер (add-comment. php) затем отправляет электронное письмо пользователю. Вот мой JS код:
$("form[name='add-comment-form']").on("submit", function(event){
var formData = $(this).serialize();
$.ajax({
type : 'POST',
url : '/add-comment',
data : formData,
dataType : 'json',
encode : true
}).done(function(){
$.fancybox.open({
href : 'comment-added-confirmation',
type : 'ajax',
afterShow : function(){
// to unbind fancybox:
fancybox_destroy();
}
});
});
event.preventDefault ? event.preventDefault() : (event.returnValue = false);
});
Все в порядке, пока пользователь не отправит форму снова - без перезагрузки / обновления страницы. В таком случае электронное письмо отправляется дважды . Если пользователь отправляет форму снова - электронная почта отправляется три раза, и так далее, и так далее ...
Все будет хорошо, если вместо этого я запусту fancybox с приведенным ниже кодом:
$.fancybox.open('<div class="message">Thank you for your comment!</div>');
Как избежать отправки электронной почты несколько раз, пожалуйста?