У меня есть форма, которая представляет собой просто отлично, но когда я добавляю код jQuery, чтобы показать загрузочный div, используя spin.js, все перестает работать.jQuery submit() с spin.js препятствует отправке формы?
<form id="search_form" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST">
<!-- Form inputs here -->
...
<input id="exam_search" type="submit" name="submit" value="Search" />
Как только я добавлю следующий код, форма перестает подаваться и ничего не происходит. Дисплей загрузки показывает на короткое время, а затем уходит, как и ожидалось, но похоже, что форма больше не отправляется.
var opts = // Array of options
var spinner = null;
$("#search_form").submit(function() {
spinner_div = document.getElementById('spinner');
if(spinner == null) {
spinner = new Spinner(opts).spin(spinner_div);
$("#search_results, #query").css({"opacity": "0.75"});
$("#search_form :input").attr("disabled", true);
} else {
spinner.spin(spinner_div);
$("#search_results, #query").css({"opacity": "0.75"});
$("#search_form :input").attr("disabled", true);
}
});
Если я изменю все, что код в случае представить это:
$("#search_form").submit(function() {
alert ("form submitted");
});
Это показывает предупреждение, а затем возвращает результаты отправки формы просто отлично.
Что я здесь делаю неправильно?
EDIT я видел в документации JQuery для отправить(), что я не должен использовать название «отправить» на поле ввода. Я тоже пытался изменить это, не повезло.
смог опубликовать jsfiddle Вы? Мое лучшее предположение: у вас есть ошибка, которая останавливает ваш код – Joundill
jsfiddle или фрагмент, потому что это более удобно. – technico
Я предполагаю, что вы отправляете форму через AJAX, вы должны добавить эту часть кода. –