Bonjour à tous
j'ai des tables dans un formulaire qui ont des <tbody> composés de 6 inputs chacun. Chaque <tbody> comprend un nombre différent de <tr>(il y'en a qui ont 1 <tr>, il'y'en a qui ont 2 ou 3 <tr>).
Chaque <tr> comprend 6 <input>.
je souhaite appliquer à chaque <tr>de chaque <tbody> de chaque <table> une fonction qui met les bordures des inputs de chaque <tr> en dashedsi les 6 <input> sont vides
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 <table name="myTable_name" id="myTable1"> <thead> <tr> <td> <input type="text" name="sum"> </td> </tr> </thead> <tbody> <tr> <td> <input type="text" name="input1_myTable1"> <input type="text" name="input2_myTable1"> <input type="text" name="input3_myTable1"> <input type="text" name="input4_myTable1"> <input type="text" name="input5_myTable1"> <input type="text" name="input6_myTable1"> </td> </tr> </tbody> <tfoot> <tr> <td> <input type="text" name="percent"> </td> </tr> </tfoot> </table> <script> function dash_border(el){ var myTable= document.getElementById(el); var myTable_body=myTable.tBodies[0]; var myTable_body_length = myTable_body.rows.length; for(var i=0;i<myTable_body_length ;i++){ var input1=myTable_body.rows[i].getElementsByTagName('input')[1]; var input2=myTable_body.rows[i].getElementsByTagName('input')[2]; var input3=myTable_body.rows[i].getElementsByTagName('input')[3]; var input4=myTable_body.rows[i].getElementsByTagName('input')[4]; var input5=myTable_body.rows[i].getElementsByTagName('input')[5]; var input6=myTable_body.rows[i].getElementsByTagName('input')[6]; if(input1.value =="" && input2.value =="" && input3.value =="" && input4.value =="" && input5.value =="" && input6.value ==""){ case_gris.focus(); input1.style.border="1px dashed red"; input2.style.border="1px dashed red"; input2.style.border="1px dashed red"; input4.style.border="1px dashed red"; input5.style.border="1px dashed red"; input6.style.border="1px dashed red"; } } } </script>
Chaque que j'applique la fonction à une table, le code ne s'exécute que sur le premier <tr> (seulement les bordures des inputs du premier <tr> deviennent "pointillé") .
Auriez-vous une explication ? Quelqu'un pourrait me donner la solution, svp ?
Merci
Partager