input type text et onchange...

syrius qui s'invite
Invité n'ayant pas de compte PHPfrance

18 juil. 2005, 16:08

Code : Tout sélectionner

while($i!=$nb_employes){ ?> <td> <input type='text' onkeyup="verif_nombre(this);" name='salaire<?echo($i); ?>' size='5' value='<? echo($salaire_employe[$i]); ?>'/> </td> <td> <input type='text' onkeyup="verif_nombre(this);" name='salaire_an<?echo($i); ?>' size='5' value='<? echo($salaire_employe[$i]*12); ?>'/> </td> <? $i++;}
voici mon code...
il s'agit donc de 2 champs input text stockant des salaires par mois et des salaires par an...
(ils sont dans une boucle while, donc plusieurs salaires par mois/par an.)

je voudrais que lorsque je change le "salaire[$i]" par mois, le "salaire[$i]" par an change automatiquement, et inversement (multiplication ou division par 12...)

mais je n'y arrive pas. (a cause de l'indice $i!)

des idées?

Eléphant du PHP | 138 Messages

19 juil. 2005, 02:45

Salut

essaye ce code, ça devrait marcher:

une petite fonction javascript:
<script language="JavaScript" type="text/javascript">
<!--
//num correspond au numero du champ ou tu modifie ta valeur
// valeur c'est le salaire que tu as rentré
// champ c'est le nom du champ dans lequel il faut faire le calcul

function ecrit(num, valeur , champ){
    var nom = ""+champ+num+"";
    alert(document.getElementsByName(nom)[0].value);
		if(champ =="salaire_an") document.getElementsByName(nom)[0].value = valeur * 12;
		if(champ =="salaire") document.getElementsByName(nom)[0].value = valeur / 12;		
}
// -->
</script>
et ton code modifié pour que ça marche, en fait il faut jouer avec l'attribut id dans lequel tu ne mets que le numero de ligne à laquelle tu te trouves:
<?php while($i!=$nb_employes){ ?>
<td>
<input type='text' onkeyup="verif_nombre(this);" name='salaire<?echo($i); ?>' id='<?echo($i); ?>'size='5' value='<? echo($salaire_employe[$i]); ?>' onchange='javascript:ecrit(this.id, this.value, "salaire_an");'/>
</td>
<td>
<input type='text' onkeyup="verif_nombre(this);" name='salaire_an<?echo($i); ?>' id='<?echo($i); ?>' size='5' value='<? echo($salaire_employe[$i]*12); ?>' onchange='javascript:ecrit(this.id, this.value, "salaire");'/>
</td>
<? $i++;}
Voilà tiens moi au courant, si je me suis trompé ou pas #-o
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

syrius contente
Invité n'ayant pas de compte PHPfrance

19 juil. 2005, 09:25

wahou....

c'est épatant ça marche..... merci :D

reste plus qu'à arondir la valeur quand je divise par 12....

merci!

Eléphant du PHP | 138 Messages

19 juil. 2005, 10:08

de rien c'est gratuit \:D/
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)