comparaison d'object

mc
Eléphanteau du PHP | 47 Messages

31 janv. 2006, 12:26

voila je fait des essaie pour comparer des object enseble definie dans un formulaire mais sa ne fonctione pas.

voici le code entier javascript + php
<html>
<head>
<title></title>
<script>

function remplir()
{
var i = '0';
var he='heure';
var ho='homme';
var elem= document.forms["form1"].elements.length; 
	for(i=0;i<elem;i++)  
	
	{
	
	var T = new Object();
	var Y = new Object();
	
	T.name = he+i;
	Y.name = ho+i;
	
    var champ=document.forms["form1"].elements[i];
	 	
    if (champ.type == "text")
	{
	    if (champ.name == T.name)
 		{
		champ.style.background = 'yellow'; 
		}
		else 
		{
		champ.style.background = 'red';
		}
                }
       }
}

</script>

</head>
<body>

<form name="form1" method="post" action="">

<?

$i=0;
while ($i<6)
{

?>

        <input type="text" name=" <? echo "heure".$i; ?>" value = "">
        <input type="text" name=" <? echo "homme".$i; ?>" value = ""><br>

<?

$i++;
}

?>
<br>
<input type="button" value="essaie" onclick="remplir();">
</form>
</body>
</html>

le resultat lorsque je clique sur le button d'essaie est tout devient rouge alors que je veut que tout devienne rouge et jaune suivant les nom des champs.

merci de m'eclairer sur mon erreur car la je seche...
la programmation c'est comme une chasse au tresor !!!
sauf que les tresor c'est des bugs !!!
et que l'on ait content de pas en avoir !!!

Mammouth du PHP | 19672 Messages

31 janv. 2006, 20:38

J'ai failli t'oublier : j'avais une proposition de solution quand le serveur a planté, voilà ce que je suggère avec une simplification du JavaScript et une optimisation du HTML:
<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  <head>
    <title></title>
<script type="text/javascript">
/* <![CDATA[ */
function remplir()
{
    var he='heure';
    var ho='homme';
    var formulaire = document.forms["form1"];
    var elem = formulaire.elements.length;
    for(var i = 0; i < elem; i++)
    {
        var T = new Object();
        var Y = new Object();

        T.name = he + i;
        Y.name = ho + i;
        formulaire.elements[i];
        var champ = formulaire.elements[T.name].style.background = 'yellow';
        var champ = formulaire.elements[Y.name].style.background = 'red';
    }
}
/* ]]> */
</script>
  </head>
  <body>
    <form id="form1" method="post" action="">
<?php
for ($i = 0; $i < 6; $i++)
{
?>
      <input type="text" name="<?php echo "heure".$i; ?>" id="<?php echo "heure".$i; ?>" value = "">
      <input type="text" name="<?php echo "homme".$i; ?>" id="<?php echo "homme".$i; ?>" value = ""><br>
<?php
}
?>
      <br />
      <input type="button" value="essaie" onclick="remplir();" />
    </form>
  </body>
</html>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

mc
Eléphanteau du PHP | 47 Messages

01 févr. 2006, 10:19

J'ai failli t'oublier :
merci de d'etre souvenue de moi :)

c'est vrai que ta solution est beaucoup plus simplifier et elle a un tres gros avantage par rapport a la mienne elle marche :wink:

merci de ton aide
la programmation c'est comme une chasse au tresor !!!
sauf que les tresor c'est des bugs !!!
et que l'on ait content de pas en avoir !!!