Bonjour,
je possède un formulaire PHP contenant environ une dizaine de checkbox et le même nombre de textfield (en fait ce sont des champs de type file, mais je m'en sert comme textfield en ne récupérant que le nom du fichier sélectionné par l'utilisateur). Ca marche très bien comme ça
Le soucis c'est que lorsque l'utilisateur clique sur le bouton valider du formulaire, je souhaiterai que celà ne renvoit quelque chose que si la checkbox et son fichier sont cochés (donc je dis bien les deux!).
Voilà le genre de code que j'ai (HTML):
Mon idée est donc (une fois le formulaire envoyé) de parcourir tous les "textfields", et de regarder à chaque fois pour le textfield courant si la case qui lui est associé est cochée. Voici le code que j'ai fait (PHP) :
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
16
17
18 <table> <tr> <td id="libelle">Sud Est</td> <td><input id="zonefile" type="file" name="monfichier[11]" /></td> <td><input type="checkbox" name="choix[11]" value="se"/></td> <td></td> </tr> <tr> <td id="libelle">Sud Ouest</td> <td><input id="zonefile" type="file" name="monfichier[12]" /></td> <td><input type="checkbox" name="choix[12]" value="idf"/></td> <td></td> </tr> . . . etc pour environ 10 checkbox/textfield </table>
Le problème c'est que même si je ne clique que sur une checkbox (et pas son fichier associé), les traitements se font (mais ne fonctionnent pas bien étant donné que le retour du textfield est mauvais)..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for($i=1;$i<=count($_POST["monfichier"]);$i++){ // parcours de la totalité des checkbox if(isset($_POST["choix"][$i]) && isset($_POST["monfichier"][$i])){ // si la checkbox $i est cochée et si un nom de fichier lui est attribué //traitements }//fin du if }//fin du for
En revanche, si je ne sélectionne qu'un textfield (et pas sa checkbox associée), les traitements ne se font pas (normal donc).
Bien évidemment, si je clique sur les deux, tout marche niquel
Ma question est donc : pourquoi ce test sur les groupes checkbox/textfield ne fonctionne pas??
Merci à tous![]()
Partager