javascript - Add Comma After Every Three Digits in Input Value After OnClick Event -


i have table/form calculates monthly payments mortgage. when calculate button pressed, javascript function make calculation based on values of inputs , set value of calculation inside of monthly payment input. problem when value set input, value gets displayed without commas. instance, 1543 instead of 1,543. if knows anyway add commas monthly payment input great. here picture of mortgage calculator monthly payment input outlined:

enter image description here

here code mortgage calculator:

<form action="post" name="myform">         <table border="1" bgcolor="#006666">           <tr>              <td align="center" colspan="2">                <script            language="javascript"><!-- function carloancalculator() {     form = document.myform     loanamount= form.loanamount.value     loanamount = loanamount.replace(/,/g, "");     parseint(loanamount);        downpayment= "0"     annualinterestrate = form.interestrate.value/100     years= form.numberofyears.value         monthrate=annualinterestrate/12     numpayments=years*12     prin=loanamount-downpayment      monthpayment=math.floor((prin*monthrate)/(1-math.pow((1+monthrate),(-1*numpayments)))*100)/100     commafy ("monthpayment")         form.numberofpayments.value=numpayments     form.monthlypayment.value=monthpayment  }         // --></script>          <script type="text/javascript">             function format(input)             {                 var nstr = input.value + '';                 nstr = nstr.replace( /\,/g, "");                 x = nstr.split( '.' );                 x1 = x[0];                 x2 = x.length > 1 ? '.' + x[1] : '';                 var rgx = /(\d+)(\d{3})/;                 while ( rgx.test(x1) ) {                     x1 = x1.replace( rgx, '$1' + ',' + '$2' );                 }                 input.value = x1 + x2;             }         </script>              <font color="#ffffff"             size="2" face="arial narrow"><b>mortgage calculator</b> <br>               enter details &amp; click calculate button</font></td>           </tr>           <tr>              <td>                <table border="0" cellpadding="2">                 <tr>                    <td align="right"><font color="#ffffff"                     size="2" face="arial narrow">finance amount $ </font></td>                   <td><font color="#ffffff" size="2"                    face="arial narrow">                      <input type="text"                     size="10" name="loanamount" value="30,000"                     onblur="carloancalculator()" onkeyup="format(this)" onchange="carloancalculator()">                     <br>                     </font></td>                 </tr>                 <tr>                    <td align="right"><font color="#ffffff"                     size="2" face="arial narrow">annual interest rate </font></td>                   <td><font color="#ffffff" size="2"                    face="arial narrow">                      <input type="text"                     size="3" name="interestrate" value="7.0"                    onblur="carloancalculator()" onchange="carloancalculator()">                     % <br>                     </font></td>                 </tr>                 <tr>                    <td align="right"><font color="#ffffff"                    size="2" face="arial narrow">term of mortgage</font></td>                   <td><font color="#ffffff" size="2"                    face="arial narrow">                      <input type="text"                     size="3" name="numberofyears" value="4"                     onblur="carloancalculator()" onchange="carloancalculator()">                     years<br>                     </font></td>                   <td><font color="#ffffff" size="2"                     face="arial narrow">                      <input type="button"                     name="morgcal" value="calculate"                    language="javascript" onclick="carloancalculator()">                     </font></td>                 </tr>                 <tr>                    <td colspan="3"><font color="#ffffff"></font></td>                 </tr>               </table>             </td>           </tr>           <tr>              <td>                <table border="0" cellpadding="2">                 <tr>                    <td align="right"><font color="#ffffff"                     size="2" face="arial narrow"> number of payments </font></td>                   <td><font color="#ffffff" size="2"                     face="arial narrow">                      <input type="text"                     size="7" name="numberofpayments">                     <br>                     </font></td>                 </tr>                 <tr>                    <td align="right"><font color="#ffffff"                     size="2" face="arial narrow">monthly payment $ </font></td>                   <td><font color="#ffffff" size="2"                     face="arial narrow">                      <input type="text"                    size="7" name="monthlypayment" id="test">                     <br>                     </font></td>                 </tr>                 <tr>                    <td align="center" colspan="2">&nbsp;</td>                 </tr>               </table>             </td>           </tr>         </table>         <div align="center"></div>       </form>   

thank help. appreciated.

the correct javascript code add comma after every 3 digits in monthly payments input value onclick event be:

<script            language="javascript"><!-- function carloancalculator() {     form = document.myform     loanamount= form.loanamount.value     loanamount = loanamount.replace(/,/g, "");     parseint(loanamount);        downpayment= "0"     annualinterestrate = form.interestrate.value/100     years= form.numberofyears.value         monthrate=annualinterestrate/12     numpayments=years*12     prin=loanamount-downpayment      function replacenumberwithcommas(yournumber) {     monthpayment=math.floor((prin*monthrate)/(1-math.pow((1+monthrate),(-1*numpayments)))*100)/100     yournumber = monthpayment     //seperates components of number     var components = yournumber.tostring().split(".");     //comma-fies first part     components [0] = components [0].replace(/\b(?=(\d{3})+(?!\d))/g, ",");     //combines 2 sections     return components.join(".");     }       //seperates components of number         form.numberofpayments.value=numpayments     form.monthlypayment.value=replacenumberwithcommas()     //seperates components of number }         // --></script> 

note: code bit out of order in terms of neatness , perhaps comments, javascript syntax correct.


Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -