Bonsoir le Forum,
Je travaille actuellement sur une application dont un des modules va supprimer la sélection faite dans un formulaire.
Je précise que je suis total newbee en js
Dans le formulaire, 2 colonnes : Identifiant, Nom.
Le tout est traité dans la page de traitement via $_POST (php).
Ce que je voudrais, c'est que lorsque l'utilisateur sélectionne une ligne (checkbox), la propriété 'name' de l'input-texte change pour qu'il soit pris en compte par $_POST. Si la checkbox n'est pas sélectionnée, la valeur de l'input-texte en Null ("").
Pour débuter, je vous donne la fonction que j'ai mis en place :
Et maintenant,la partie du code concerné du formulaire issue d'un foreach-php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function ChangeName(key) { if (document.forms.getElementById(key).checked) //alert("Numéro de clé" + key); document.forms.getElementById('nom_' + key).name="nom_art[]"; else document.forms.getElementById('nom_' + key).name=""; }
Quand je fais la sélection sur le formulaire, la propriété input.name ne change pas, et je n'ai pas la partie ['nom_art'] dans la variable $_POST.
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
19
20
21
22
23
24
25
26
27
28
29 <?php foreach ($tab_art as $key=>$valeur) { if ($key % 2 == 0) { $cle = $key; echo '<tr class="row1"><td align="center">' .'<input type="checkbox" id="'.$cle.'" name="id_art[]" onclick="javascript:ChangeName('.$cle.')" ' .'value="'.$tab_art[$key]["id_art"].'">' .$tab_art[$key]["id_art"].'</td>' .'<td><input type="hidden" id="nom_'.$cle.'" name="" value="' .$tab_art[$key]["nom_art"].'">' .'<input type="text" value="'.$tab_art[$key]["nom_art"].'"></td>' .'</tr>'; } else { $cle = $key; echo '<tr class="row2"><td align="center">' .'<input type="checkbox" id="'.$cle.'" name="id_art[]" onclick="javascript:ChangeName('.$cle.')" ' .'value="'.$tab_art[$key]["id_art"].'">' .$tab_art[$key]["id_art"].'</td>' .'<td><input type="hidden" id="nom_'.$cle.'" name="" value="' .$tab_art[$key]["nom_art"].'">' .'<input type="text" value="'.$tab_art[$key]["nom_art"].'"></td>' .'</tr>'; } } ?>
Où est mon erreur ?
Merci de vos lumières...
Laurent
Partager