Bonjour chers amis développeurs,
Le premier souci est réglè, maintenant, j'en ai un second, voir en bas.
J'aimerais mettre dans la fonction innerhtml, la fonction onclick, malheureusement, ça ne marche pas.
Après avoir lu quelques topics, je pensais qu'il s'agissait des quotes mais même là, je n'y arrive pas.
Bien sur tout marche hors du JavaScript.
Code : Sélectionner tout - Visualiser dans une fenêtre à part l.insertCell(l.cells.length).innerHTML='<input type="text" size="10" name="couleur[]" name="f_color" maxlength="7"><img src="Img/color.gif" onClick="fctShow(document.objForm.f_color)">';
Ca me permet d'afficher une palette de couleur. j'ai récupéré le code à cet endroit)
Là, il s'agit du code html classique, dans ce cas, ça marche parfaitement.
J'arrive à afficher les couleurs
Par contre, dès que je l'implémente dans le JS, ça me marche plus. (bien sur, j'utilise le même nom de formulaire, l'ironie de l'histoire, c'est que si j'inclue le 1er formulaire (sans php) dans le second avec l'appel JS, ça affiche la palette mais ça "marque" la couleur dans le premier formulaire et rien dans le second)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form name="objForm" method="post" action="?"> <input type="text" size="10" name="f_color" value="" maxlength="7"> <img src="Img/color.gif" onClick="fctShow(document.objForm.f_color);"> </form>
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 <form name="objForm" method="post" action="?"> <tr> <th>N°</th> <th>Mot</th> <th>Lien</th> <th>Titre</th> <th>Couleur</th> <th>taille</th> <th><input type="button" onclick="ajout();" value="Ajouter" /></th> </table> <INPUT TYPE="submit" NAME="envoyer" VALUE=" Envoyer "> <script type="text/javascript"> var tab=document.getElementById("tableau"); function suppression(btn) { tab.deleteRow(btn.parentNode.parentNode.rowIndex); for ( var l=1;l<tab.rows.length;l++ ) { tab.rows[l].cells[0].innerHTML=l; } } function ajout() { var l = tab.insertRow(tab.rows.length); var c=l.insertCell(l.cells.length); c.innerHTML=l.rowIndex; l.insertCell(l.cells.length).innerHTML= "<input type='text' size='10' name='mot[]' />"; l.insertCell(l.cells.length).innerHTML= "<input type='text' size='10' name='lien[]' />"; l.insertCell(l.cells.length).innerHTML= "<input type='text' size='10' name='titre[]' />"; l.insertCell(l.cells.length).innerHTML='<input type="text" size="10" name="f_color" value="" maxlength="7"><img src="Img/color.gif" onClick="fctShow(document.objForm.f_color);">'; l.insertCell(l.cells.length).innerHTML= "<input type='text' size='10' name='taille[]' />"; l.insertCell(l.cells.length).innerHTML= "<input type='button' value='Supprimer' onclick='suppression(this);' />"; l.onmouseover=function() { this.style.backgroundColor="#FFFFDD"; } l.onmouseout=function() { this.style.backgroundColor="transparent"; } } </script> </form>
Donc maintenant, ça marche lorsque la première ligne est créée, ensuite, non (la palette de couleur s'affiche mais ça "n'écrit pas" dans le input text la valeur (même pour le premier), je suppose que cela vient du fait que j'utilise plusieurs fois le name = f_color.
Je pensais mettre un compteur mais je ne m'en sors pas :/
Merci d'avance de vos réponses
Partager