Я абсолютный нуб с jQuery и js, и я уверен, что есть более элегантное решение, чем то, что я придумал, - но это то, что у меня так далеко, и я в замешательстве.
У меня есть форма, отправка которой по разным причинам занимает много времени - я использую validationEngine для проверки встроенных полей формы, что прекрасно работает. Затем мне нужно было добавить всплывающий элемент div, чтобы сообщить посетителю, пожалуйста, наберитесь терпения, почему приложение выполняет запрошенный поиск.
Мое оригинальное решение работало отлично, примите во внимание, что всплывающий элемент div показывал, когда посетитель нажимал кнопку отправки, независимо от того, была ли форма полностью заполнена или нет - если форма полностью заполнена, все работает, как ожидалось, - если они пропускают поле validationEngine показывает уведомление о пропущенном поле, и мой всплывающий элемент div все еще отображается, но, очевидно, форма не отправляется. Что происходит с этим кодом:
jQuery(document).ready(function(){
jQuery("#approvalForm").validationEngine('attach');
});
$(document).ready(function() {
$('#approvalForm').submit(function() {
$('#progress').show();
});
});
Итак, после некоторых исследований я сделал несколько модификаций, которые привели к следующему коду:
jQuery(document).ready(function(){
jQuery("#approvalForm").validationEngine('attach', {
onValidationComplete: function(form, status){
if (status == true) {
$('#approvalForm').submit(function() {
$('#progress').show();
});
}
}
});
});
И теперь все работает правильно, за исключением того, что вам нужно дважды нажать кнопку отправки, и когда вы делаете это, всплывающее окно появляется, но форма не отправляется.