2013-08-23 5 views
1

select로 선택한 세 가지 저축 플랜 중 하나를 계산하려면 수정해야하는 기본 자바 스크립트이자이자 계산기가 있어야합니다. 다른 문이 선택에 의해 선택의 올바른 저축 계획을 계산하는 다른 .... 경우 .... 나는 경우 구현하려고하면 자바 스크립트이자 계산기

function CalculateNonComp() { 
if (!parseFloat(document.noncomp.noncomp_principal.value)) { 
    document.noncomp.noncomp_principal.value = 0; 
}; 
if (!parseFloat(document.noncomp.noncomp_interest.value)) { 
    document.noncomp.noncomp_interest.value = 1.4; 
}; 
if (!parseFloat(document.noncomp.noncomp_length.value)) { 
    document.noncomp.noncomp_length.value = 30; 
}; 
var Principal = parseFloat(document.noncomp.noncomp_principal.value); 
var DailyInterest = parseFloat(document.noncomp.noncomp_interest.value)/1; 
DailyInterest = DailyInterest/100; 
var Days = parseInt(document.noncomp.noncomp_length.value) * 1; 
var Result = Principal * (1 + DailyInterest * Days); 
document.getElementById('noncomp_result').innerHTML = Result.toFixed(2); 
} 

내 문제는 시작합니다

기본 코드는 잘 작동한다. 어떤 힌트

function CalculateNonComp() { 
if (document.noncomp.plan.value = "1"); 
if (!parseFloat(document.noncomp.noncomp_principal.value)) { 
    document.noncomp.noncomp_principal.value = 0; 
}; 
if (!parseFloat(document.noncomp.noncomp_interest.value)) { 
    document.noncomp.noncomp_interest.value = 1.4; 
}; 
if (!parseFloat(document.noncomp.noncomp_length.value)) { 
    document.noncomp.noncomp_length.value = 30; 
}; 


var Principal = parseFloat(document.noncomp.noncomp_principal.value); 
var DailyInterest = parseFloat(document.noncomp.noncomp_interest.value)/1; 
DailyInterest = DailyInterest/100; 


var Days = parseInt(document.noncomp.noncomp_length.value) * 1; 

var Result = Principal * (1 + DailyInterest * Days); 

document.getElementById('noncomp_result').innerHTML = Result.toFixed(2); 

else if (document.noncomp.plan.value = "2"); 


if (!parseFloat(document.noncomp.noncomp_principal.value)) { 
    document.noncomp.noncomp_principal.value = 0; 
}; 
if (!parseFloat(document.noncomp.noncomp_interest.value)) { 
    document.noncomp.noncomp_interest.value = 1.6; 
}; 
if (!parseFloat(document.noncomp.noncomp_length.value)) { 
    document.noncomp.noncomp_length.value = 60; 
}; 


var Principal = parseFloat(document.noncomp.noncomp_principal.value); 
var DailyInterest = parseFloat(document.noncomp.noncomp_interest.value)/1; 
DailyInterest = DailyInterest/100; 


var Days = parseInt(document.noncomp.noncomp_length.value) * 1; 

var Result = Principal * (1 + DailyInterest * Days); 

document.getElementById('noncomp_result').innerHTML = Result.toFixed(2); 

else(document.noncomp.plan.value = "3"); 


if (!parseFloat(document.noncomp.noncomp_principal.value)) { 
    document.noncomp.noncomp_principal.value = 0; 
}; 
if (!parseFloat(document.noncomp.noncomp_interest.value)) { 
    document.noncomp.noncomp_interest.value = 1.8; 
}; 
if (!parseFloat(document.noncomp.noncomp_length.value)) { 
    document.noncomp.noncomp_length.value = 90; 
}; 


var Principal = parseFloat(document.noncomp.noncomp_principal.value); 
var DailyInterest = parseFloat(document.noncomp.noncomp_interest.value)/1; 
DailyInterest = DailyInterest/100; 


var Days = parseInt(document.noncomp.noncomp_length.value) * 1; 

var Result = Principal * (1 + DailyInterest * Days); 

document.getElementById('noncomp_result').innerHTML = Result.toFixed(2); 

} 

감사 또는 도움 :

나는 다음과 같은 노력했습니다!

+0

if else 문의 구문을 확인하십시오. – ianace

+0

['else'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else)는 바로 다음에 와야합니다 '만약'. – Teemu

+0

제 문제는 프로그래머가 아니며 대개 클라이언트 프로젝트에 js를 사용할 준비가되어 있다는 것입니다. –

답변

0

적절한 사용하여 if else 구문 확인 '{'와 '}'

if(condition 1) { 
code 
} else if() { 

} 
+0

Jakub에게 감사드립니다. 코드를 수정했으며 적어도 더 이상 js 오류가 발생하지 않습니다. 그러나 계산기는 다른 조건이 선택 되더라도 조건 1 만 계산합니다. 나는 (document.noncomp.plan.value = "1")과 else (document.noncomp.plan.value = "2")가 select에서 값을 가져 오는 것이 맞지 않다면 추측한다. –

+0

"=="대신 "="조건 : document.noncomp.plan.value == "1"등 –

+0

다시 한 번 감사드립니다 :) 문제는 거의 해결되었습니다. 이제는 트리 옵션을 계산할 때 스크립트가 예상 한대로 수행하고 있습니다. 그러나 계산 후 다른 선택으로 변경하면 스크립트는 이전 선택을 계산합니다. 다른 선택을 계산하려면 전체 페이지를 다시로드해야합니다. 스크립트 등을 재설정 할 수있는 방법이 있습니까? –

1

로 조건문의 범위를 정의해야 if else statement :

if (condition) { 
    // do something 
} else if (condition) { 
    // do something 
} else { 
    // do something 
} 

Comp

-2

내가 CSS를

  <html> 

     <head> 
     <title>SIMPLE INTEREST CALCULATION</title> 

     <link type="text/css" href="style.css" rel="stylesheet "> 

     <script type="text/javascript" src="style.js"> 

     </script> 

     </head> 

     <body> 

    <form name="frm"> 

    <center> 

    <h1>....Simple Interest Calculation....</h1> 

    <div id="div"> 

    <table id="t1"> 

    <caption> </caption> 

    <tr> 
    <td>Amount Rs/- 
    </td> 

    <td> 

    <input type="text" name="amount" id="amount" value="" class="input" min="0" onkeyup="AllowNumber()"/> 
     </td> 
    </tr> 

     <tr> 
     <td>Rate Rs/- 
    </td> 

     <td><input type="text" name="rate" id="per" value="" min="0" max="3"  class="input" /> 
    </td> 
    </tr> 

    <tr> 
    <td>Time peroid:</td> 
    <td> 
    <input type="number" name="time" value="" id="time" min="0" class="input"/> 

    <select id="peroid" class="choice"> 

    <option>Choose</option> 

    <option value="year">Year</option> 

    <option value="month">Month</option> 

    <option value="weeks">Weeks</option> 

    <option value="days">Days</option> 

    </select> 

    </td> 

    </tr> 

    <tr> 

    <td> 
Total Interest: 
    </td> 

    <td> 
    <input type="text" id="interest" value="" name="interest" class="input" readonly/> 
    </td> 
    </tr> 

    <tr><td>TotalAmount:</td> 
    <td><input type="text" id="total" name="total" value="" class="input" readonly/></td></tr> 

    <tr> 
    <td><input type="button" name="cal" id="cal" value="Calculate" class="cal" onclick="cali()"/> 
    </td> 

    <td><input type="reset" name="clear" id="cal" value="Clear" class="cal"/> </td></tr> 
    </table> 
    </center> 
    </div> 
    </form> 
    </body> 
    </html> 


    **CSS Code**//style.css 

    .input 
    { 
    font-weight:bold; 
    width:260px; 
    height:32px; 
    font-size:1em; 
    text-align: right 
    } 

    #amount 
    { 
    border-radius: 40px; 
    border:2px solid teal; 
    } 
    #per 
    { 
    border-radius: 40px; 
    border:2px solid teal; 
    } 

    #time 
    { 
    border-radius: 40px; 
    border:2px solid teal; 
    width:130px; 
    height:30px; 
    } 

    #interest 
    { 
    border-radius: 40px; 
    border:2px solid teal; 
    } 
    #total 
    { 
    border-radius: 40px; 
    border:2px solid teal; 
    } 
    .cal 
    { 
    font-weight:bold; 
    width:250px; 
    height:40px; 
    font-size:1em; 
    border-radius: 50px; 
    border:2px solid black; 
    } 
    #t1 
    { 
    color:teal; 
    font-size:2em; 
    border-radius: 40px; 
    font-weight:bold; 

    font-family:Gabriola; 
    } 

    select 
    { 
    border-radius: 40px; 
    border:2px solid teal; 
    width:130px; 
    height:35px; 
    font-size:1em; 
    } 

    #div 
    { 
    background-color: lightgrey; 
    width: 600px; 
    padding: 20px; 
    border: 25px solid green; 
    margin: 20px; 
    border-style: inset; 
    border-radius: 50px; 
    box-shadow: 10px 10px 5px red; 
    } 
    h1 
    { 
    color:purple; 
    hypens:auto; 
    text-shadow: 10px 10px 10px black; 
    font-weight:bold; 
    font-variant: small-caps; 
    font-size:3em; 
    } 
    #d1 
{ 
    background-color: lightgrey; 
    width: 850px; 
    padding: 25px; 
    border: 25px solid navy; 
    margin:60px; 
    margn-left:5px; 
    } 

    #cal 
    { 
    background-color:teal; 
    width:280px;!important 
    height:33px;!important 
    } 

    **JavaScript Code**//style.js 

    //Empty text box validation 

function cali() 
{ 
    var p,r,n,y,m,w,d; 
    if(document.frm.amount.value == "") 
    { 
    alert("PLEASE ENTER PRINCIPLE AMOUNT"); 
    document.frm.amount.alert(); 
    } 
    else if(document.frm.rate.value=="") 
    { 
    alert("ENTER RATE OF INTEREST"); 
    document.frm.rate.blur(); 
    } 

    if(parseFloat(per.value)>100)//text box allow only range of within 100 
    { 
    alert("Please Enter The Interest Rate Less Then 100"); 
    per[i].focus(); 
    return (false); 
    } 

    if(parseFloat(per.value)<0)//text box allow only range of Greater Than Zero 
    { 
    alert("Please Enter The Interest Rate Greater then 0"); 
    per[i].focus(); 
    return (false); 
    } 

    if(!document.getElementById("per").value.match(/^[0-9]*\.?[0-9]*$/))//text box allow only numbers and allow only one dot 
    { 
    alert("Enter Correct Interest Rate"); 
    return (false); 
    } 
    else if(document.frm.time.value=="") 
    { 
    alert("ENTER NUMBER OF TIME PERIOD"); 
    document.frm.time.prompt(); 
    } 
    else 
    { 
    p=parseInt(document.frm.amount.value); 

    r=parseFloat(document.frm.rate.value); 

    n=parseInt(document.frm.time.value); 

    peroid=document.getElementById("peroid").value; 

    if(peroid=="year")// per year calculation 
    { 
    y=(p*r*n)/100; 
    document.frm.interest.value="Rs :" +Math.ceil(y); 
    } 

    else if(peroid=="month")//per month calculation 
    { 
    m=(p*r*(n/12))/100; 
    document.frm.interest.value="Rs :" +Math.ceil(m); 
    } 

    else if(peroid=="weeks")//per week calculation 
    { 
    var w=(p*r*(n/52))/100; 
    document.frm.interest.value="Rs :" + Math.ceil(w); 
    } 


    else if(peroid=="days")//per days calculation 
    { 
    d=(p*r*(n/365))/100; 
    document.frm.interest.value="Rs :" + Math.ceil(d); 
    } 

    document.frm.total.value="Rs:"+Math.ceil((p+m)||(p+y)||(p+w)||(p+d)); 
    } 
    } 

    //Text Box Allow Only The Numeric Values not allow single dot or char 

    function AllowNumber(){ 
    if (!frm.amount.value.match(/[0-9]+$/) && frm.amount.value !="") 
    { 
     frm.amount.value=""; 
    frm.amount.focus(); 
    alert("Please Enter only Numers In This Field"); 
    } 
    } 
에게 자바 스크립트를 사용하여 형태와 텍스트 상자 검증을위한 모든 입력 유효성 검사 단리이자를 계산하여도 적용하려고];이 코드에 그리고 당신 잘못 한 일을 생각한다
+0

이 답변은 원래의 포스터와 일치하지 않습니다. 질문은 javascript와 관련이 있으며 질문에 직접 관련이없는 HTML 만 게시했습니다. –