Bonjour à toutes et à tous,
j'ai créé un formulaire dynamique pour une page .php.
Je sens que je ne suis pas loin de terminer celui-ci mais je rencontre encore un soucis.
Mon formulaire ressemble à ça:
Je souhaite pour la case 3 masquer ou afficher le champ en fonction de la checkbox juste devant la case.
Le problème c'est que mon script fonctionne pour la première ligne mais pas les suivantes (quand je créé une nouvelle ligne cette propriété ne fonctionne plus).
Pouvez-vous m'aider ?
Merci
mon script:
mon formulaire
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 <SCRIPT language="javascript"> function addRow(tableID) { var table = document.getElementById(tableID); var rowCount = table.rows.length; var row = table.insertRow(rowCount); var colCount = table.rows[0].cells.length; for (var i = 0; i < colCount; i++) { var newcell = row.insertCell(i); newcell.innerHTML = table.rows[1].cells[i].innerHTML; //alert(newcell.childNodes); switch (newcell.childNodes[0].type) { case "text": newcell.childNodes[0].value = ""; break; case "checkbox": newcell.childNodes[0].checked = false; break; case "select-one": newcell.childNodes[0].selectedIndex = 0; break; } } } function deleteRow(tableID) { try { var table = document.getElementById(tableID); var rowCount = table.rows.length; for (var i = 0; i < rowCount; i++) { var row = table.rows[i]; var chkbox = row.cells[0].childNodes[0]; if (null != chkbox && true == chkbox.checked) { if (rowCount <= 1) { alert("On ne peut pas supprimer toutes les lignes."); break; } table.deleteRow(i); rowCount--; i--; } } } catch (e) { alert(e); } } function changement() { if (document.getElementById('cb').checked) document.getElementById('coucou').disabled = true; else document.getElementById('coucou').disabled = false; } </SCRIPT>
Code HTML : 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 <div class = "content"> <fieldset> <br /> <legend>Mon formulaire</legend> <br /> <form name="myform" id="myform" method="post" action="./index.php?action=verif"> <div class="donnees"> <TABLE id="dataTable"style="background-color: transparent"> <th> Choix </th> <th size="40"> Liste 1: </th> <th> Case 1: </th> <th> Case 2:</th> <th> Case 3:</th> <th> Case 4:</th> <th > Liste 2:</th> <tr > <td width="5%" ><INPUT type="checkbox" name="chk" /></Td> <td width="25%" ><select name="choix1[]"> <option value=""> Veuillez choisir l'option </option> <option value="1"> 1 </option> <option value="2"> 2 </option> <option value="3"> 3 </option> <option value="4"> 4 </option> </select> </td> <td width="20%" ><INPUT type="text" name="case1[]" /></Td> <td width="20%" ><INPUT type="text" name="case2[]" /></Td> <td width="20%" ><input type="checkbox" id="cb" onclick="changement()" /> <input type="text" id="coucou" name="case3[]"/> </Td> <td width="5%" ><INPUT type="text" name="case4[]" /> </Td> <td width="5%" ><select name="choix2[]"> <option value="A"> A </option> <option value="B"> B </option> </select> </Td> </TR> </TABLE> </div> </br> <div class = "boutons"> <INPUT type="button" style = "width: 170px;left: 448px;position:absolute" class = "greenButton" value="Ajouter une ligne" onclick="addRow('dataTable')" /> <INPUT type="button" style = "width: 170px;left: 248px;position:absolute" class = "redButton" value="Supprimer une ligne" onclick="deleteRow('dataTable')" /> <INPUT type="submit" style = "width: 170px;left: 648px;position:absolute" value="Valider"> <br> </div> </br> </form> </fieldset> </div>
Partager