У меня есть счетчик, который отображается, когда запрос ajax выполняется с использованием jquery:
$(document).bind("ajaxStart", function() {
$('#myloader').show();
});
$(document).bind("ajaxStop", function() {
$('#myloader').delay(1000).fadeOut('fast');
});
В этом случае запрос фактически выполняется при нажатии клавиши, я пытаюсь понять, как использовать этот счетчик в нескольких полях, чтобы счетчик отображался рядом с каждым полем.
Размещение изображения счетчика не является проблемой, но мне сложно подключить изображение к каждому полю. Если это имеет смысл?
--ОБНОВИТЬ--
Ответы очень полезны, но я не думаю, что это то, что я ищу.
У меня есть следующий код:
<div class="form_element">
<%= f.label :email, :class=>"field_hint", :title=>"Email" %>
<%= f.text_field :email %>
<div class="myloader" style="display:none;">
<p>
validating...
</p>
</div>
</div>
<div class="form_element">
<%= f.label :username, :class=>"field_hint", :title=>"Username" %>
<%= f.text_field :username %>
<div class="myloader" style="display:none;">
<p>
validating...
</p>
</div>
</div>
Оба этих поля имеют keyup, который выполняет удаленный вызов. Я немного изменил код:
$('.form_element').ajaxStart(function() {
$(this).children('.myloader').show();
});
$('.form_element').ajaxStop(function() {
$(this).children('.myloader').delay(1000).fadeOut('fast');
});
В тот момент, когда происходит ajax, появляются оба счетчика, я пытаюсь понять, как сделать каждый div счетчика соответствующим своему полю.
Я новичок в Ajax, поэтому любые советы о том, как сделать ajaxStart/Stop по-другому, более чем приветствуются.