[英]this javascript code is not working properly(if-else statement)
此javascript代碼無法正常工作(if-else語句)。它已輸出,但是當我輸入term = 35時,始終顯示term = 36上的計算結果。有人可以幫助我解決此問題嗎?謝謝! 我只是編程的新手。
<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>
您在if
使用了逗號運算符。 這將term
設置為36。
if (principal>=50000, term=36)
我不確定您要達到的目標,但也許效果更好:
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)
您的所有代碼都存在一些問題,由於您說您是新手,因此我將解決所有問題,希望對您有所幫助:)
之所以總是得到36,是因為在if語句中,term = 36(等於1),因此將term設置為36。
在if語句中使用principal> = 50000,term = 36是毫無意義的,因為第一個表達式被忽略了,我想您要做的是
if(本金> = 50000 && term === 36){
注意,我使用===而不是==以獲得更多信息,請看這里: JavaScript比較中應使用哪個等於運算符(== vs ===)?
不要使用內聯處理程序(在HTML onclick =“ some function”內)請閱讀http://www.quirksmode.org/js/introevents.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.