2011-05-09 3 views
0

Je rencontre des difficultés avec le gestionnaire de soumission ... Pourquoi le formulaire suivant est toujours envoyé lorsque les champs du formulaire sont vides?validation de formulaire jquery

$("form").submit(function() { 

$(".required").each(function() { //check each instance with class of 'required'. 
if ($(this).val() == "") { //if field left blank, 
return false; //halt/prevent form submission. 
} 
//else .. 
return true; //all is ok, proceed. 
}); 

}); 

Répondre

3

Parce que votre return true; exécutera pour tout champ non vide, empêchant ainsi le code de vérification de tous les champs. En outre, vous ne renvoyez que la fonction interne et non le gestionnaire de soumission. Vous devez réécrire quelque chose comme ceci:

$("form").submit(function() { 

    isValid = true; 

    $(".required").each(function() { //check each instance with class of 'required'. 
     if ($(this).val() == "") { //if field left blank, 
      isValid = false; 
     }  
    }); 

    return isValid; //all is ok, proceed. 

}); 
+0

Très bien. Merci Monsieur. Exactement ce que je cherchais, Cheers! –

0

Réponse rapide: Je pense que c'est parce que votre return false est niché dans une fonction $.each.