У меня проблема с моим javascript, который не работает, чтобы отправить событие. я иметь форму более или менее так:Javascript не работает в заказе
<form id="myForm">
<div>
<button type="submit" name="submit">Submit</button>
</div>
<div>
<div id="loading" style="display:none;"><img src="images/loading.gif"/></div>
<div id="hasil" style="display:none;"></div>
</div>
</form>
и Javascript функция AJAX:
$('#myForm').submit(function() {
$('#hasil').fadeOut('fast', function() {
alert('a');
$('#loading').fadeIn('fast');
});
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(data) {
if(data=='0'){
$('#hasil').html('Code Already Exist');
$('#loading').fadeOut('fast', function() {
alert('d');
$('#hasil').fadeIn();
});
}
}
});
return false;
});
он должен показать #loading, скрыть #loading, а затем показать #hasil. сначала отправьте, он будет работать без проблем. но когда я отправляю его во второй раз, скрипт не работает упорядоченно сверху вниз, а не из точки «d», затем «a» (alert()).
Интересно, почему сценарий работает так? я где-то ошиблась?
может быть, это просто так случиться, что ваш Аякса вернулся быстрее, чем время FADEOUT из '# hasil', попытайтесь поместить свой АЯКС вызов внутри' # hasil' FADEOUT. Так что он будет ждать, пока hasil начнет исчезать первым, прежде чем вызывать ajax –