мой HTML-код:JQuery загрузки анимации скрыть(), шоу() ошибка
<div id="success_message" style="display:none">
<p>Good job!</p>
</div>
<div id="my-form">
<form>
<input>....... (there's lots of inputs)
<input id="my-btn" type="submit" name="" value="Send" />
<img id="loading-img" src="images/loading.gif" style="display:none"/>
</form>
</div>
Тогда у меня JavaScript в конце:
<script>
jQuery('#my-btn').click(function() {
jQuery('#my-btn').hide();
jQuery('#loading-img').show();
});
jQuery("#my-btn").click(function (e) {
var str = ......... (there's a string)
jQuery.ajax({
type: "post",
url: "/insert.php",
data: str,
dataType: "json",
success: function (result) {
if (result.success == 1) {
jQuery('#loading-img').hide();
jQuery('#my-form').hide();
jQuery('#success-message').show();
} else {
jQuery('#my-btn').show();
}
}
});
});
</script>
Проблема не в существе ул переданный или вызов ajax, потому что я тестировал свой код и данные, и все выполняется, и переходит к «if (result.success == 1)» часть кода.
Проблема заключается в том, что когда я облизываю «my-btn», он скрывает «my-btn», но изображение загрузки не появляется, а форма, в которой находится div, не скрывается, а затем сообщение об успешном завершении не отображается также ...
Что я делаю неправильно и как я могу сделать свой код лучше?
Calling 'шкурой()' на '# мой-form' скроет все дочерние компоненты, в том числе '# my-btn' и' # load-img'. Вы также привязали 'click()' дважды к одному и тому же элементу. Добавить условие внутри одного обработчика события. – Mike