Es ist wirklich einfach. Sie haben ein Bild, zunächst verborgen:
<img src="myloadingimage.gif" style="display: none;" id="loading_image">
Sie machen eine AJAX-Anfrage:
$('#loading_image').show(); // show loading image, as request is about to start
$.ajax({
url: '..',
type: '..',
complete: function() {
// request is complete, regardless of error or success, so hide image
$('#loading_image').hide();
}
});
Es ist kein Hexenwerk, das verspreche ich. :)
EDIT: Als Reaktion auf Ihren Kommentar verwendet dies jQuery. Sie legen das jQuery-Tag, also nehme ich an, dass das in Ordnung ist.
Ich bemerkte auch, dass ich Ihre ursprüngliche Frage nicht vollständig ansprach, nämlich, dass Sie den Ladebalken für ein vermutlich normales Formular anzeigen möchten. Wenn Ihr Formular-Tag eine ID von „myform“ hat, das sollte es tun:
$('#myform').submit(function() {
$('#loading_image').show(); // show animation
return true; // allow regular form submission
});
Sie können auch eine Zeile wie diese in werfen:
$(':submit',this).attr('disabled','disabled');
Wenn Sie von den Benutzern stoppen wollen, klicken einreichen mehr als einmal. Dies sollte immer noch serverseitig verifiziert werden, aber es ist eine nette oberflächliche Verteidigungsbarriere.
könnten Sie bitte einen Code posten? –