[script java] non compatible IE/FF

Fermé
dj_atlanta Messages postés 2 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 19 juin 2008 - 19 juin 2008 à 11:39
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 19 juin 2008 à 20:53
Bonjour,

Après moultes recherches sur la toile je me remet à votre expérience de programmeur.

J'ai un bon de commande à mettre en ligne avec une fonction de calcul
ca se passe avec des Id et sur 16 lignes
j'ai des quantités, des prix unitaire HT, des remises et ensuite des totaux divers.
ca fonctionne très bien sur IE, mais rien sur Firefox :(


ma fonction java:

function calculer() 
{ 
 var qt,pu,tr,pht,ttht,tx,ttc;
 ttht=0;
  for(int i=1; i<17; i++){
   qt=document.getElementById("quantite"+(i)).value;
   pu=document.getElementById("PUHT1"+(i)).value ; 
   tr=document.getElementById("remise1"+(i)).value;
   pht=qt*(pu - (tr*pu/100));
   document.getElementById("prixHT1"+(i)).value=pht ;
   ttht=ttht+pht;
  } //plus les autres pht des autres lignes
tx=ttht*19.60/100;
document.getElementById("totalHT").value=ttht;
document.getElementById("TVA").value=tx;
ttc=ttht+tx;
document.getElementById("totalTTC").value=ttc;
// ttc=document.demandeAchat.totalTTC.value;
document.demandeAchat.totalTTC.value=ttc;
} 


un extrait du code (pour la 1ere ligne de commande)
<td align="right" width="8%"> 
              <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
                <input type="text" name="quantite1" id="qt1" size="10">
                </font></div>
            </td>
            <td width="57%"> 
              <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
                <input type="text" name="designation1" size="80" value="">
                </font></div>
            </td>
            <td width="12%"> 
              <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
                <input type="text" name="PUHT1" id="pu1" size="9">
                &euro; </font></div>
            </td>
            <td width="10%"> 
              <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
                <input type="text" name="remise1" size="3" id="tr1"  maxlength="3">
                %</font></div>
            </td>
            <td width="13%"> 
              <div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
                <input type="text" name="prixHT1" size="9">
                &euro;</font></div>
            </td>



j'apelle ma fonction java comme ceci
<a href='javascript:calculer();'><img src='../images/calendrier/cal.gif' width='16' height='16' border='0' alt='Cliquez ici pour calculer.'></a>

je bloque et ne sais pas du tout comment finir cette page.
Merci de vos éventuelles réponses.
A voir également:

1 réponse

dj_atlanta Messages postés 2 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 19 juin 2008
19 juin 2008 à 13:02
précisons: la vrai fonction est ci-dessous

function calculer() 
{ 
 var qt,pu,tr,pht,ttht,tx,ttc;
 ttht=0;
  for(var i=1; i<17; i=i+1){
   qt=document.getElementById("quantite"+(i)).value;
   pu=document.getElementById("PUHT"+(i)).value ; 
   tr=document.getElementById("remise"+(i)).value;
   pht=qt*(pu - (tr*pu/100));
   document.getElementById("prixHT"+(i)).value=pht ;
   ttht=ttht+pht;
  } //plus les autres pht des autres lignes
tx=ttht*19.60/100;
document.getElementById("totalHT").value=ttht;
document.getElementById("TVA").value=tx;
ttc=ttht+tx;
document.getElementById("totalTTC").value=ttc;
document.demandeAchat.totalTTC.value=ttc;
} 


mais ne fonctionne tjs pas.
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
19 juin 2008 à 20:53
Bonsoir,
Tout d'abord ton code, ce n'est pas du java, mais du javascript (c'est totalement différent malgré le nom qui ressemble).
Ton problème est que tu utilises getElementById, qui comme son nom l'indique, sélectionne les éléments par leur identifiant. Seulement, toi tu ne spécifies pas leur identifiant mais leur nom, et donc c'est normal que ça ne fonctionne pas.

Pour être plus clair :
...
for(var i=1; i<17; i=i+1){
   qt=document.getElementById("qt"+(i)).value;
   pu=document.getElementById("pu"+(i)).value ; 
   tr=document.getElementById("tr"+(i)).value;
   pht=qt*(pu - (tr*pu/100));
   document.getElementById("prixHT"+(i)).value=pht ; //Ici il faut spécifier un id dans ton html
   ttht=ttht+pht;
  } //plus les autres pht des autres lignes
...


Tiens nous au courant.

Cordialement
0