Bonjour à tous et à toutes,

Je voudrais que le loader Ajax puisse s'afficher uniquement si les champs requis sont remplis.
Je pensais écrire un code comme celui-ci :
Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
form = $("#annonceForm");
if(form.attr("required").val('') {
$("#loader").hide()
} else {
$("#loader").show();
}

voici l'intégralité du code
Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
$(function(){
    // le chargement de la réponse du serveur se fera lors du clic sur le bouton de soumission du formulaire  
    // ET NON AU CHARGEMENT DE LA PAGE!        
    $(":submit").click(function(e) {  // lors du clic sur le bouton de soumission du formulaire 
        e.preventDefault();
        // on affiche le loader d'attente Ajax pour faire patienter l'utilisateur
        $("#loader").show();
 
        $("#iframe").load(function(){ // au chargement du DOM de la balise iframe            
            var rep = $(this).contents().find('#reponse').html();
            if(rep.substr(0,2)=="ok") {                
                $("#loader").hide(); // on cache le loader d'attente Ajax
                $('.annonceSent').css("color","#183152").fadeIn(2000).html("Félicitation, votre annonce a été ajoutée.");
                $('.annonceSent').fadeOut(10000);
                $(":input", "#annonceForm").not(':submit').val("");
                $("#captchaImage").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
            } else {
                if(rep.substr(0,7)=="captcha") {
                    $("#loader").hide(); // on cache le loader d'attente Ajax
                    $('.annonceSent').css("color","#760001").show().text("Veuillez saisir CORRECTEMENT le code du captcha!");
                    $('#captcha').val("");
                    $('#captcha').focus();
                    $('.annonceSent').fadeOut(5000);	
                    $("#captchaImage").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                } else if(rep.substr(0,6)=="Erreur") {
                    $("#loader").hide(); // on cache le loader d'attente Ajax				
                    $('.formErreur').show().text("Erreur lors de l'upload!");
                    $('.formErreur').fadeOut(5000);
                    $("#captchaImage").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                } else if(rep.substr(0,7)=="Fichier") {
                    $("#loader").hide(); // on cache le loader d'attente Ajax
                    $('.formErreur').show().text("Le fichier uploadé est trop volumineux!");
                    $('.formErreur').fadeOut(5000);
                    $("#captchaImage").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                } else if((rep.substr(0,7)=="Absence")) {
                    $("#loader").hide(); // on cache le loader d'attente Ajax
                    $("#titre").focus();
                    $('.formErreur').show().text("Veuillez remplir tous les champs!");
                    $('.formErreur').fadeOut(5000);
                    $("#captchaImage").attr("src", "image.php?text");// permet de regénérer uniquement que le captcha sans vider le formulaire
                } 
                $("#captcha", "#annonceForm").val("");
            } // fin else													
        }); // fin $("#iframe")        
        $('.annonceSent').html('');	// on vide la div d'affichage du message	
    }); // fin $(":submit").click()  
});// fin $(function())
Mais cela ne fonctionne pas.
Merci d'avance.
Transact.