D'accord avec le commentaire de Teja. À moins que vous ne soumettiez l'envoi de manière asynchrone, l'affichage gif dépendra de la rapidité avec laquelle le navigateur commence à charger la page suivante (ou la page postback).
Qu'est-ce que vous pourriez faire si vous voulez vraiment montrer le GIF (devra être ajax une description de bien) est ...
$("#btnSubmit").click(function(e){
e.preventDefault(); // stops any 'immediate' post back or re-direction
$("#loader").hide()
.html("<img src='<?= url::base() ?>themes/img/loading.gif' border='0' />")
.delay(1000).fadeIn(200, function(){
// submit form using $.ajax or whatever suits - rebuild page on callback or navigate to new page
});
});
Fondamentalement parlant bien à la fois comme Jonas et Teja ont fait allusion, si vous ne faites pas ajax - alors le feedback de l'utilisateur est déjà là (la version du navigateur d'un 'loader gif' s'affichera parce qu'il essaie de charger une nouvelle page) - alors pourquoi prendre la peine de faire le tour des maisons sur votre page et le faire paraître "Web 2.0"?
Soit faire un ajax, soit laisser le navigateur donner à l'utilisateur son feedback visuel.
Vous ne faites pas d'ajax là-dedans. Vous soumettez directement le formulaire et il devrait directement amener l'utilisateur à la page suivante. –