Formulaire interactif avec jquery

Fermé
emmakalonji Messages postés 11 Date d'inscription vendredi 27 décembre 2013 Statut Membre Dernière intervention 2 octobre 2015 - 2 oct. 2015 à 12:46
 segatasenshiro - 2 oct. 2015 à 15:40
Bonjour,

Bonjour

je m'appelle Emmanuel et je débute en jquery, voici mon probleme
j'ai creer un formulaire à plusieur champ (input type text, select et radio) j'ai utiliser une boucle for pour par tous les champs et afficher une boite de dialogue s'il y a au moins un champ vide; mais j'aimerai aussi si ce qui est inscrit dans tel ou tel autre champ est correct

Merci !

voici mon code :

$(document).ready(function(){
//recuperation des variables necessaire
var select = $('.select'),
agce_clb = $('.champ'),
regex = new RegExp(/([^A-Za-z0-9\ \_])/);
// a la soumissiom du formulaire
$('#send_form').submit(function(e){// quand le formulaire est envoyer
e.preventDefault(); //on desactive le conpotement par defaut du navigateur
for(var i=0; i < champ.length; i++){
if(champ[i].value =='' ){
$(champ[i]).attr({
class:'incorrect' //je modifie l'attribut class
});
if(i == (champ.length - 1)){
alert('Veuillez renseignez les champs vides ');
}
}
}

});
});


bref je ne sais pas comment gerer la boucler et verifier les entree des champs un a un
Merci !

1 réponse

Salut,
pourquoi ne pas vérifier chaque champ séparément hors de la boucle en utilisant l'id?
Ça me paraît le plus simple car chaque input aura ses propres contraintes et erreurs à indiquer j'imagine:
var invalide="";
if($('#nom').value.length<4){
invalide+="le nom doit comporter 4 caractères minimum<br/>"
}
if(!isNan($('#nom').value){
invalide+="le nom ne peut être un nombre<br/>";
}
//--faire de même pour toutes les vérifications sur chaque champ
if(invalide!=""){//si invalide n'est pas vide
alert(invalide);
}else{//sinon on 'soumet' le formulaire
$('#send_form').submit;
}


Même remarque pour vos champs vides, si vous utilisez pas la boucle ça fera plus de code mais vous pourrez indiquer quel champ précisément doit être rempli. C'est par contre plus de code à écrire mais pas plus compliqué à faire/lire dans le code.
Il y a aussi l'avantage de pas devoir utiliser submit pour annuler son comportement (on mettra un gestionnaire 'click' seulement) et on 'submit' le formulaire seulement si celui a la variable de contrôle vide(ici var invalid=="").

Comme vous pouvez voir il n'y a pas de vérification de formulaire propre à JQuery, pour ça j'ai vu qu'il existait la bibliothèque "validate" donc voir de ce côté si vous y tenez vraiment et que ça se justifie(grand nombre de formulaires à envoyer).
Par contre avec JQuery AJAX est simplifié(pour vérifier une comparaison avec des champs existants sur une BD par exemple) et la fonction .each() propre à JQuery remplace avantageusement for et toutes les boucles du style.
https://api.jquery.com/each/
0