2012-08-09 4 views
0

ce code javascript ne fonctionne pas correctement (instruction if-else) .it a une sortie mais quand j'ai entré term = 35, toujours le calcul sur term = 36 montre. quelqu'un peut m'aider à résoudre ce problème? merci! Je suis juste novice en programmation.ce code javascript ne fonctionne pas correctement (instruction if-else)

<script language="javascript" type="text/javascript"> 
function calc1(form) { 

    var principal = form.principal.value; 
    var term = form.term.value; 
    var paidup = form.paidup.value; 
    var unearn = form.unearn.value; 
    form.paidup.value = form.principal.value * 0.01; 


    if (principal >= 50000, term = 36) { 
     form.unearn.value = principal * .27750; 
    } 

    else if (principal >= 50000, term = 35) { 
     form.unearn.value = principal * .27000; 
    } 

} 
</script> 
<FORM> 
<table> 
<tr> 
<td>Enter Principal Amount:</td> 
<td><INPUT TYPE ="text" NAME="principal" SIZE=15 ></td> 
</tr> 
<tr> 
<td>Enter Number of Term:</td> 
<td><INPUT TYPE ="text" NAME="term" SIZE=15 ></td> 
</tr> 
<tr> <td><INPUT TYPE ="button" VALUE="Calculate" ONCLICK="calc1(this.form)"></td><td></td> </tr> 

</tr> <tr> <td>Paid-Up Share Capital:</td> <td><INPUT TYPE="text" NAME="paidup" SIZE=4 ></td> </tr> <tr> <td>Unearned Income:</td> <td><INPUT TYPE="text" NAME="unearn" SIZE=4 ></td> </tr> 

</table> 
</form>​ 
+1

Pouvez-vous déplacer le code pour violoner JS? –

+1

http://jsfiddle.net – xiaowl

+2

Pourriez-vous formater le code afin que nous puissions mieux le lire, p. suppression ** '' ** – Niklas

Répondre

0

Vous avez utilisé opérateur virgule dans if. Ceci définit term à 36.

if (principal>=50000, term=36) 

Je ne sais pas ce que vous essayez d'atteindre, mais peut-être cela fonctionne mieux:

var term = parseInt(form.term.value, 10), 
    principal = parseInt(form.principal.value, 10); 

if (principal >= 50000 && term == 36) {...} // (if principal is greater than or equal to 5000 and term equals to 36) 
+0

merci beaucoup.j'aide tellement. :) –

0

il y a quelques problèmes avec votre tout code et je les adresse parce que vous avez dit que vous êtes débutant donc j'espère que cela vous aidera :)

  1. raison pour laquelle vous toujours 36 est obtient parce que dans votre déclaration si vous avez terme = 36 (une égale) afin que vous définissez terme à 36.

  2. Il est AMHA inutile d'utiliser principale> = 50000, terme = 36 si la déclaration parce que la première expression est ignorée, ce que je pense que vous voulez faire est

    si (principal> = 50000 & & terme = == 36) {

  3. Avis je === == et non pour plus d'informations regarder ici: Which equals operator (== vs ===) should be used in JavaScript comparisons?

  4. ne pas utiliser des gestionnaires en ligne (à l'intérieur de html onclick = "une fonction") s'il vous plaît lire http://www.quirksmode.org/js/introevents.html

Questions connexes