Affichage JavaScript dans php

Résolu/Fermé
salyxo Messages postés 10 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 31 janvier 2015 - 13 avril 2011 à 19:06
salyxo Messages postés 10 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 31 janvier 2015 - 13 avril 2011 à 20:31
Bonjour,

Mon problème est le suivant :
Je veux afficher un nuancier en JavaScript sur une page php et l'affichage du nuancier ne se fait pas bien que le script, lui fonctionne...

Voici le code JavaScript dans le head :
<script language="javascript">
bloc1 = true;
function hexa1(couleur1)
{
  if(bloc1)
  {
	document.form.n_coul1.value = couleur1;
	document.getElementById('couleur1').style.background=couleur1;
  }
}
function palette1()
{
  document.write("<table border='0' cellpadding='0' cellspacing='0' ><tr>"); 
  var h=new Array('00','33','66','99','CC','FF'); 
  var col=""; 
  for(var i=0;i<6;i++)
  {
	for(var j=0;j<6;j++)
	{
	  for(var k=0;k<6;k++)
	  {
		col="#"+h[i]+h[j]+h[k];
		document.write
		(
		  "<td width='10' height='10' bgcolor='"+col+"' onMouseOver=\"hexa1('"+col+"')\" onClick=\"if(bloc1) { bloc1 = false; } else { bloc1 = true; }\"></td>"
		);
	  }
	}
	document.write("</tr>");
  }
  document.write("</table>");
}
</script>



Et voici l'appel de la fonction dans le body de la page :

<?php
	echo "<script language=\"JavaScript\">palette1();</script>\n";
	echo "<input type=\"text\" name=\"aff1\" id=\"couleur1\" class=\"l100\"><br />\n";
	echo "<input type=\"text\" name=\"n_coul1\" class=\"l100\">\n";
?>


Les deux input txt s'affiche parfaitement et témoignent que le script fonctionne.
Mais la palette, elle, ne s'affiche pas.

Merci d'avance de vos réponse.

A voir également:

4 réponses

DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
13 avril 2011 à 19:25
Salut,

Problème résolu :

<html>
<head>
<title></title>
<script language="javascript">
bloc1 = true;
function hexa1(couleur1)
{
  if(bloc1)
  {
	document.getElementById('n_coul1').value = couleur1;
	document.getElementById('couleur1').style.background=couleur1;
  }
}
function palette1()
{
  document.write("<table border='0' cellpadding='0' cellspacing='0' ><tr>"); 
  var h=new Array('00','33','66','99','CC','FF'); 
  var col=""; 
  for(var i=0;i<6;i++)
  {
	for(var j=0;j<6;j++)
	{
	  for(var k=0;k<6;k++)
	  {
		col="#"+h[i]+h[j]+h[k];
		document.write
		(
		  "<td width='10' height='10' bgcolor='"+col+"' onMouseOver=\"hexa1('"+col+"')\" onClick=\"if(bloc1) { bloc1 = false; } else { bloc1 = true; }\"></td>"
		);
	  }
	}
	document.write("</tr>");
  }
  document.write("</table>");
}
</script>
</head>

<body>

<script language="JavaScript">palette1();</script>

<form>
<input type="text" name="aff1" id="couleur1" class="l100"><br />
<input type="text" id="n_coul1" class="l100">
</form>
</body>
</html>


0
salyxo Messages postés 10 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 31 janvier 2015
13 avril 2011 à 19:39
Malheureusement non, pas résolu...
J'ai appliqué, mais le même problème.
En fait, je pense qu'il s'agit d'un problème de quotes ("") dans la partie d'affichage de la palette du JavaScript.

L'affiche en html est parfait, mais pas en PHP...

Merci quand même d'avoir essayé ;-)

Je relance donc la question...
0
salyxo Messages postés 10 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 31 janvier 2015
13 avril 2011 à 20:20
Alors, après plusieurs tests, j'ai réussi à isoler le problème, mais sans trouver la solution...
En HTML, affichage parfait. En PHP, en fait le nuancier s'affiche, mais sans les couleurs de fond (background-color)

C'est donc uniquement sur cette partie de code que se situe le problème et sans doute dans les quottes et double-quottes... :

"<td width=\"10\" height=\"10\" bgcolor=\""+col+"\" onMouseOver=\"hexa1('"+col+"')\" onClick=\"if(bloc1) { bloc1 = false; } else { bloc1 = true; }\">1</td>"


Le reste est parfait... (Le 1 qui a été ajouté dans le td me permet de voir si l'affichage est fait ou pas et il se fait)
0
salyxo Messages postés 10 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 31 janvier 2015
13 avril 2011 à 20:31
Bon... Il faut vraiment chercher...
Mais j'ai trouvé, pour ceux qui ont un problème semblable...

En fait, c'est tout simplement un problème CSS...

Voici le bon code :

style=\"background-color:"+col+"\"

au lieu de :
bgcolor=\""+col+"\"
0