Bonjour la communauté,
Je sollicite votre aide sur le contrôle d'un formulaire avec un nombre de champ variable.
J'ai un formulaire de saisie des notes des élèves d'une classe et le nombre d'élève varie en fonction de la classe ce qui veut dire que le nombre de champ du formulaire dépend du nombre d'élève de la classe. Par exemple, le nombre d'élève peut être 10 ou 25 ou encore 30.
Donc, si le nombre d'élève est égal à 10 le formulaire affichera 10 champ;
si le nombre d'élève est égal à 15 le formulaire affichera 15 champ;
si le nombre d'élève est égal à 25 le formulaire affichera 25 champ;
Ainsi de suite. Et le formulaire est obtenu par suite du résultat d'un autre traitement.
Passons au code:
Voici le code du formulaire:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <form name="fiche" method="POST" id="register_form" onsubmit="return false;"> <input type="hidden" name="ide<?php echo $j++; ?>" value="<?php echo $idelev; ?>"> <input type="hidden" name="nbre" value="<?php echo $nbre; ?>" id="nbre"> <input type="text" class="form-control" id="note<?php echo $k++; ?>" name="note<?php echo $i++; ?>" placeholder="Note" value="" size=30> <input type="submit" name="sauvegarder" value="Enregistrer" id="sauvegarder" class="btn btn-primary pull-right"> <span id="error_note<?php echo $l++; ?>" class="error_note"></span> </form>
Et voici le code JavaScript que j'utilise pour le moment et qui ne fonctionne que pour le premier champ vu que je ne sais pas comment je pourrais utilisée une boucle pour contrôler les champs suivants!
Voici une capture d'écran pour plus de compréhension
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $(document).ready(function(){ var nbreleve=$("#nbre").val(); //Vérification de la valeur de la note saisie $("#note1").keyup(function(){ if(!$(this).val().match(/^[0-9.]{1,5}$/)){ $("#note1").css("border-color","#ff0000"); $("#error_note1").css("color", "red").html("<img src='/appgesco/images/icons/warning.png' alt='Attention' class='erreur'>"); } else{ $("#note1").css("border-color","green"); $("#error_note1").css("color", "green").html("<img src='/appgesco/images/icons/ok24.png' alt='Attention'>"); //check_anant(); } }); });
Merci à l'avance pour vos différentes réponses!
Partager