本文目錄一覽:
- 1、js表單計算金額問題
- 2、javascript自動計算金額(計算結果只顯示小數點後的兩位)
- 3、javascript自動計算金額(急)
- 4、JS代碼自動計算代碼小數保留兩位位四捨五入只允第一個文本框內輸入數字和不數點不允許輸入字母和其它的字
js表單計算金額問題
我把你那個改成表格的了~這樣比較好實現~代碼如下:
table width=”600″ border=”1″ align=”center” style=”text-align:center;”
tr
td width=”102″input type=”checkbox” id=”all”/全選/td
td width=”203″商品/td
td width=”119″單價/td
td width=”148″數量/td
/tr
tr
tdinput type=”checkbox” id=”qianbi”//td
td鉛筆/td
td1.5元/支/td
tdinput type=”text” id=”qianbi_t” value=”1″ //td
/tr
tr
tdinput type=”checkbox” id=”yuanzhu” value=”” //td
td圓珠筆/td
td2.5元/支/td
tdinput type=”text” id=”yuanzhu_t” value=”1″ //td
/tr
tr
tdinput type=”checkbox” id=”gangbi” value=”” //td
td鋼筆/td
td3元/支/td
tdinput type=”text” id=”gangbi_t” value=”1″ //td
/tr
tr
td colspan=”4″金額合計:span id=”m” style=”color:#F00;”/span元nbsp;nbsp;nbsp;nbsp;button提交訂單/button/td
/tr
/table
script type=”text/javascript”
var all=document.getElementById(“all”);
var qianbi=document.getElementById(“qianbi”);
var yuanzhubi=document.getElementById(“yuanzhu”);
var gangbi=document.getElementById(“gangbi”);
var qb_m=0,yzb_m=0,gb_m=0;
all.onclick=function(){
if(all.checked){
qianbi.checked=true;
yuanzhubi.checked=true;
gangbi.checked=true;
}
else{
qianbi.checked=false;
yuanzhubi.checked=false;
gangbi.checked=false;
}
sub();
};
qianbi.onclick=function(){sub()};
yuanzhubi.onclick=function(){sub()};
gangbi.onclick=function(){sub()};
document.getElementById(“qianbi_t”).addEventListener(“change”,function(e){
sub();
});
document.getElementById(“yuanzhu_t”).addEventListener(“change”,function(e){
sub();
});
document.getElementById(“gangbi_t”).addEventListener(“change”,function(e){
sub();
});
function sub(){
if(qianbi.checked){
qb_m=document.getElementById(“qianbi_t”).value*1.5
}
else{
qb_m=0;
all.checked=false;
}
if(yuanzhubi.checked){
yzb_m=document.getElementById(“yuanzhu_t”).value*2.5
}
else{
yzb_m=0;
all.checked=false;
}
if(gangbi.checked){
gb_m=document.getElementById(“gangbi_t”).value*3
}
else{
gb_m=0;
all.checked=false;
}
var sum=qb_m+yzb_m+gb_m;
document.getElementById(“m”).innerHTML=sum;
}
/script
複製到網頁的body中去就行了~試試看~不懂得再來問我~
javascript自動計算金額(計算結果只顯示小數點後的兩位)
JS保留兩位小數
對於一些小數點後有多位的浮點數,我們可能只需要保留2位,但js沒有提供這樣直接的函數,所以我們得自己寫函數實現這個功能,代碼如下:
function changeTwoDecimal(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert(‘function:changeTwoDecimal-parameter error’);
return false;
}
var f_x = Math.round(x*100)/100;
return f_x;
}
功能:將浮點數四捨五入,取小數點後2位
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1475926) 返回 3.15
js保留2位小數(強制)
對於小數點位數大於2位的,用上面的函數沒問題,但是如果小於2位的,比如:
changeTwoDecimal(3.1),將返回 3.1,如果你一定需要3.10這樣的格式,那麼需要下面的這個函數:
function changeTwoDecimal_f(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert(‘function:changeTwoDecimal-parameter error’);
return false;
}
var f_x = Math.round(x*100)/100;
var s_x = f_x.toString();
var pos_decimal = s_x.indexOf(‘.’);
if (pos_decimal 0)
{
pos_decimal = s_x.length;
s_x += ‘.’;
}
while (s_x.length = pos_decimal + 2)
{
s_x += ‘0’;
}
return s_x;
}
功能:將浮點數四捨五入,取小數點後2位,如果不足2位則補0,這個函數返回的是字元串的格式
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1) 返回 3.10
javascript自動計算金額(急)
你的補充問題錯在這句sum[i]=amount[i]*price[i];
改成這樣sum[i].value=amount[i].value*price[i].value;
JS代碼自動計算代碼小數保留兩位位四捨五入只允第一個文本框內輸入數字和不數點不允許輸入字母和其它的字
form name=”form1″ method=”post” action=””
p請您輸入金額:
input type=”text” name=”spp” onKeyup=”accu()”
/p
p含手續費金額: input name=”dlp” value=”0″ disabled size=”20″
/p
pscript language=”JavaScript”
function accu()
{
with(document.form1){
spp.value=spp.value.replace(/[^\d\.]/g,”);
sp=spp.value;
sp=parseFloat(sp);
var n=String(sp*1.015);
//if(/\./.test(n))return
n=n.split(‘.’);
if(n.length==1)return dlp.value=n[0];
if(n[1].length3)return dlp.value=n.join(‘.’);
n[1]=n[1].replace(/(\d{3}).*/,”$1″);
n=Math.round(parseInt(n.join(”),10)/10)/100;
dlp.value=n;
}
}
/script
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/235775.html