2013-03-15 12 views
0

Je fais ce formulaire, il est calculateur de frais, il a deux champs, frais dus et frais payés puis il y a un disant solde et enfin le quatrième champ est le champ de texte indiquant le statut il mis à jour automatiquement en utilisant JavaScript selon le solde comme payé, impayé ou acomptes il fonctionne très bien mais seul le problème est pour une raison quelconque quand certaines valeurs spécifiques sont entrées le champ de statut devient vide il ne met pas à jour selon le Javascript il devrait dire des acomptes, voici mon JavaScriptcomparer deux champs en JavaScript

function ff_feecalc_new_init() 
    { 
     setInterval("calc()", 500) 
    } 

    function calc(){ 

     ff_getElementByName('status').value=''; 
     ff_getElementByName('balance').value=Number(ff_getElementByName('amountdue').value)-Number(ff_getElementByName('amountpaid').value); 

     if (ff_getElementByName('amountpaid').value==0 && ff_getElementByName('amountdue').value>0){ 

      ff_getElementByName('status').value="unpaid"; 
     } 
     if(ff_getElementByName('amountpaid').value>0){ 
      if ((ff_getElementByName('balance').value <ff_getElementByName('amountdue').value){ 

       ff_getElementByName('status').value="installments"; 
      } 
     } 

     if (ff_getElementByName('amountpaid').value == ff_getElementByName('amountdue').value && ff_getElementByName('amountpaid').value>0){ 

      ff_getElementByName('status').value="paid"; 
     } 
    } 

Tout ce que je fais mal?

+0

Il y a un support manquant –

+0

Où est-il un support manquant Chiel? – VoronoiPotato

+0

Je suggère d'élargir votre question avec un jsfiddle pour cela. http://jsfiddle.net/ –

Répondre

0

Il est recommandé d'utiliser '===' au lieu de '==' dans les comparaisons javascript. Essayez d'utiliser parseFloat() ou parseInt() aussi.

Exemple:

if (parseInt(ff_getElementByName('amountpaid').value)===0 && parseFloat(ff_getElementByName('amountdue').value)>0){ 
... 
} 
Questions connexes