document.getElementById("form2").elements[champ] has no properties

document.getElementById("form2").elements[champ] has no properties - HTML/CSS - Programmation

Marsh Posté le 14-02-2005 à 12:18:00    

suis resté keblo là dessus :
 
 
la fonction contient ça :

Code :
  1. function AffichePalette(nom,div,champ)
  2. {
  3. [...]
  4. element8.setAttribute("onclick", "ActionColor(' "+ hex_array[red] + hex_array[green] + hex_array[blue] +" ',' "+nom+" ',' "+div+" ',' "+champ+" '); return false;" );
  5. [...]
  6. }


 
qui appelle donc celle là :

Code :
  1. function ActionColor(couleur,nom,div,champ)
  2. {
  3. document.getElementById("form2" ).elements[champ].value = couleur
  4. document.getElementById(nom).style.background='#'+couleur;
  5. toggleDisplay(div);
  6. }


 
Error: document.getElementById("form2" ).elements[champ] has no properties
Line: 77


Message édité par freed102 le 14-02-2005 à 12:18:31
Reply

Marsh Posté le 14-02-2005 à 12:18:00   

Reply

Marsh Posté le 14-02-2005 à 12:22:09    

Vérifie avec un alert(champ) que y'a bien le bon champ...

Reply

Marsh Posté le 14-02-2005 à 12:22:40    

Sinon il faut de toute manière mettre un id à tous les champs, si tu utilises comme il le faut les <label>, donc autant prendre le champs avec son id :)

Reply

Marsh Posté le 14-02-2005 à 12:23:02    

j'ai testé avec document.write(champ) ... oups !c cheum mais ça m'affichait le bon nom de champ ! :lol:

Reply

Marsh Posté le 14-02-2005 à 12:23:44    

dans mon premier cas...  j'ai ça :
 
<input name="couleurnom" id="couleurnom" type="hidden" value="<?php echo $couleurnom; ?>" size="7" />

Reply

Marsh Posté le 14-02-2005 à 12:25:22    

oublie le document.write, fait un alert(champ). Sinon là tu pourra faire un document.getElementById('couleurnom').value

Reply

Marsh Posté le 14-02-2005 à 12:26:50    

g le même probleme avec la deuxieme ligne
 
Error: document.getElementById(nom) has no properties
Line: 78

Reply

Marsh Posté le 14-02-2005 à 12:28:40    

Alors le nom est pas bon [:spamafote]

Reply

Marsh Posté le 14-02-2005 à 12:29:50    

ya pas un truc de concatenation ? parceque le nom est bon !

Reply

Marsh Posté le 14-02-2005 à 12:31:26    

Probable. Fait un alert de ton truc concaténé

Reply

Marsh Posté le 14-02-2005 à 12:31:26   

Reply

Marsh Posté le 14-02-2005 à 12:33:21    

FlorentG a écrit :

Probable. Fait un alert de ton truc concaténé


 
pour info... voici comment j'appelle ma fonction :
 

Code :
  1. <input name="couleurnom" id="couleurnom" type="hidden" value="<?php echo $couleurnom; ?>" size="7" />
  2. [...]
  3. <label class="labelwhite">Couleur</label>
  4. <div id="couleurnom1" class="couleurselect" style="background-color:#<?php echo $couleurnom; ?>;">
  5. <a href="#" onclick="toggleDisplay('coulnom1');return false;" ><img src="dummy.gif" width="32" height="12" alt="Cliquez-ici pour choisir une couleur" /></a>
  6. </div><p>
  7. <div id="coulnom1" class="colorpannel" style="display:none;"><script type="text/javascript>AffichePalette('couleurnom1','coulnom1','couleurnom' </script></div></p>


Message édité par freed102 le 14-02-2005 à 12:36:21
Reply

Marsh Posté le 14-02-2005 à 12:40:02    

alert(couleur);
me retourne : 33CCFF
 
alert(nom);
me retourne : couleurnom1
 
alert(div);
me retourne : coulnom1
 
alert(champ);
me retourne : couleurnom
 
 :??:  


Message édité par freed102 le 14-02-2005 à 12:42:43
Reply

Marsh Posté le 14-02-2005 à 13:20:06    

freed102 a écrit :

alert(couleur);
me retourne : 33CCFF
 
alert(nom);
me retourne : couleurnom1
 
alert(div);
me retourne : coulnom1
 
alert(champ);
me retourne : couleurnom
 
 :??:


 
 
le code de ma fonction AffichePalette m'a l'air correct...
 

Code :
  1. <div class="coulrange" id="coulrange00"><ul class="colorlist"><li style="background-color: rgb(0, 0, 0);"><a onclick="ActionColor('000000','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="000000" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 0, 51);"><a onclick="ActionColor('000033','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="000033" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 0, 102);"><a onclick="ActionColor('000066','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="000066" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 0, 153);"><a onclick="ActionColor('000099','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="000099" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 0, 204);"><a onclick="ActionColor('0000CC','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="0000CC" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 0, 255);"><a onclick="ActionColor('0000FF','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="0000FF" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 51, 0);"><a onclick="ActionColor('003300','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="003300" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 51, 51);"><a onclick="ActionColor('003333','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="003333" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 51, 102);"><a onclick="ActionColor('003366','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="003366" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 51, 153);"><a onclick="ActionColor('003399','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="003399" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 51, 204);"><a onclick="ActionColor('0033CC','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="0033CC" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 51, 255);"><a onclick="ActionColor('0033FF','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="0033FF" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 102, 0);"><a onclick="ActionColor('006600','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="006600" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 102, 51);"><a onclick="ActionColor('006633','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="006633" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 102, 102);"><a onclick="ActionColor('006666','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="006666" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 102, 153);"><a onclick="ActionColor('006699','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="006699" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 102, 204);"><a onclick="ActionColor('0066CC','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="0066CC" src="dummy.gif" height="10" width="10"></a></li><li style="background-color: rgb(0, 102, 255);"><a onclick="ActionColor('0066FF','couleurnom1','coulnom1','couleurnom'); return false;" href="#" class="closeLink"><img alt="0066FF" src="dummy.gif" height="10" width="10"></a></li>[...]

Reply

Marsh Posté le 14-02-2005 à 13:45:02    

Question très bête : tu est sûr d'avoir un <form id="form2"> dans ta page ?

Reply

Marsh Posté le 14-02-2005 à 13:49:36    

<form action="<?php echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" id="form2">

Reply

Marsh Posté le 14-02-2005 à 14:36:15    

argh ça me saoule! je vois pas du tout où ça cloche !

Reply

Marsh Posté le 14-02-2005 à 15:12:14    

bon... j'ai mis ça :
 
function ActionColor(couleur,nom,div,input)
{
document.getElementById(input).value = couleur;
document.getElementById(nom).style.background='#'+couleur;
toggleDisplay(div);
}
 
... ça a l'air de marcher... je comprends pas c ce que j'avais fait au debut mais ça marchait pas...

Reply

Marsh Posté le 14-02-2005 à 15:19:20    

.. reste à debugger sur IE ...
 
"ligne 57 : Objet attendu"
 
... voici la ligne 57 =  
 
<div id="boutonnom" class="bouton_options"><a href="#" onclick="toggleDisplay('menunom');return false;"><img src="images/btnoptions.gif" width="100" height="16" alt="Bouton options"/></a></div>

Reply

Marsh Posté le 14-02-2005 à 15:50:42    

zetes sûrs que le DOM marche bien avec IE ?

Reply

Marsh Posté le 14-02-2005 à 15:51:32    

ma page marche parfaitement avec firefox maintenant.. Mais sur IE ça marche pas du tout ! :lol:
http://www.clonecopy.net/php/ezdocs/
 
... sur Mac.. Safari ça marche nikel... IE ça marche pas !


Message édité par freed102 le 14-02-2005 à 15:55:26
Reply

Marsh Posté le 14-02-2005 à 16:13:12    

j'y crois pas !!! :lol:
 
ça marchait pas parceque j'avais mis
 
//<script>
à l'entrée du fichier pour avoir la coloration syntaxique ! :)) oufff !!!!

Reply

Marsh Posté le 14-02-2005 à 17:44:49    

bon c mieux.. ça s'affiche maintenant ! mais l'action ne fonctionne pas quand je cliques sur une couleur ! :( même le return false ne marche pas ! :(

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed