요거한번봐주세요 정보
요거한번봐주세요본문
콤마찍기를 추가했는데 수량과 가격이 1000원이 넘어가면 에러가 나요
도와주세요
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" style="margin:0px;">
<input type=hidden name=null>
<input type=hidden name=w value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id value="<?=$wr_id?>">
<input type=hidden name=sca value="<?=$sca?>">
<input type=hidden name=sfl value="<?=$sfl?>">
<input type=hidden name=stx value="<?=$stx?>">
<input type=hidden name=spt value="<?=$spt?>">
<input type=hidden name=sst value="<?=$sst?>">
<input type=hidden name=sod value="<?=$sod?>">
<input type=hidden name=page value="<?=$page?>">
<tr><td>
수량
<input type=text name="wr_11" id="a" value="0<?=$write[wr_11]?>" itemname="a" onKeyPress="Incredit_comma(this)" onKeyUp="my_calc(this.form)" style="text-align:right;" size="5" class="border" />
가격
<input type=text name="wr_12" id="a_a" value="0<?=$write[wr_12]?>" itemname="a_a" onKeyPress="Incredit_comma(this)" onKeyUp="my_calc(this.form)" style="text-align:right;" size="7" class="border"/>
공급가
<input type=text name="wr_13" id="a_aa" value="0<?=$write[wr_13]?>" itemname="a_aa" style="text-align:right;" size=10 readonly class="no_border2" />
부가세
<input type=text name="wr_14" id="a_bat" value="0<?=$write[wr_14]?>" itemname="a_bat" style="text-align:right;" size=10 readonly class="no_border2"/>
운송비
<input type=text name="wr_15" id="a_aaa" value="0<?=$write[wr_15]?>" itemname="a_aaa" onKeyPress="Incredit_comma(this)" onKeyUp="my_calc(this.form)" style="text-align:right;" size="10" class="border" />
합계
<input type=text name="wr_16" id="a_sum" value="0<?=$write[wr_16]?>" itemname="a_sum" style="text-align:right;" size=10 readonly class="no_border" />
<br />
전체 합계:
<input type=text name="wr_23" id="total" value="0<?=$write[wr_23]?>" itemname="total" style="text-align:right;" size=10 readonly /></td>
</td></tr>
<script language="javascript">
function my_calc(f){
if(f.a.value=="") f.a.value="0";
f.a_aa.value = eval(f.a.value) * eval(f.a_a.value) ;
f.a_bat.value = eval(f.a.value) * eval(f.a_a.value) * 0.1 ;
f.a_sum.value = eval(f.a_aa.value) + eval(f.a_bat.value) + eval(f.a_aaa.value) ;
my_total();
}
function my_total(){
var f = document.fwrite;
f.total.value = setComma( eval(f.a_sum.value) );
}
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
//천단위 콤마 나타내기
function setComma(str){
var returnVal = String(str);
while(returnVal.match(/^(-?\d+)(\d{3})/)){
returnVal = returnVal.replace(/^(-?\d+)(\d{3})/,'$1,$2');
}
return returnVal;
}
//입력과 동시에 천단위 콤마 찍기
function Incredit_comma(obj)
{
var s = parseFloat(obj.value.replace(/\,/g,""));
var ns = s.toString();
var dp;
if(isNaN(ns))
return "";
dp = ns.search(/\./);
if(dp<0)
dp = ns.length;
dp-=2;
while(dp>0)
{
ns = ns.substr(0,dp)+","+ns.substr(dp);
dp-=3;
}
obj.value = ns;
return true;
}
//특정문자 제거
function filter(str){
re = /^\$|,|-/g;
// "$" and "," and "-"입력 제거
return str.replace(re, "");
}
//-->
</SCRIPT>
</form>
댓글 전체
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title>소계 계산 방법 변경 test 2</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function autocal(index, obj){
var price = filter((fwrite.price[index].value));
var quantity = filter((fwrite.quantity[index].value));
var transport = filter((fwrite.transport[index].value));
if (isNaN(filter(obj.value))) {
alert("숫자를 입력하시오!");
obj.value = '0';
obj.focus();
}
else {
//row별 계산결과 구하기
fwrite.tot_price[index].value = setComma(eval(price) * eval(quantity));
// 부가세
fwrite.additional_tax[index].value = setComma(eval(price) * eval(quantity) / 10);
// 기존 계산 -------- 소계 = 공급가+부가세
fwrite.subtotal[index].value = setComma((110 * eval(price) * eval(quantity)) / 100);
// 1)공급가+부가세+운송비=소계
fwrite.subtotal1[index].value = setComma((110 * eval(price) * eval(quantity)) / 100 + parseInt(eval(transport))) ;
// 2)공급가+운송비=소계
fwrite.subtotal2[index].value = setComma((eval(price) * eval(quantity)) + parseInt(eval(transport))) ;
//소계 구하기
var sum_price = 0; //
var sum_quantity = 0; //
var sum_tot_price = 0; //공급가
var sum_additional_tax = 0; //
var sum_transport = 0; //
var sum_subtotal = 0; //
var sum_subtotal1 = 0; //
var sum_subtotal2 = 0; //
for (i = 0; i < fwrite.price.length; i++) {
sum_price += eval(filter(fwrite.price[i].value)); //
sum_quantity += eval(filter(fwrite.quantity[i].value));
sum_tot_price += eval(filter(fwrite.tot_price[i].value));
sum_additional_tax += eval(filter(fwrite.additional_tax[i].value));
sum_transport += eval(filter(fwrite.transport[i].value)); //
sum_subtotal += eval(filter(fwrite.subtotal[i].value)); //소계
sum_subtotal1 += eval(filter(fwrite.subtotal1[i].value)); //소계1
sum_subtotal2 += eval(filter(fwrite.subtotal2[i].value)); //소계2
}
fwrite.sum_price.value = setComma(sum_price);
fwrite.sum_quantity.value = setComma(sum_quantity);
fwrite.sum_tot_price.value = setComma(sum_tot_price);
fwrite.sum_additional_tax.value = setComma(sum_additional_tax);
fwrite.sum_transport.value = setComma(sum_transport);
fwrite.sum_subtotal.value = setComma(sum_subtotal); // 소계
fwrite.sum_subtotal1.value = setComma(sum_subtotal1); // 소계1
fwrite.sum_subtotal2.value = setComma(sum_subtotal2); // 소계2
}
}
//input 클릭했을때 전체선택(onclick="text_select(this)")
//function text_select(obj){
// obj.select();
//}
//천단위 콤마 나타내기
function setComma(str){
var returnVal = String(str);
while (returnVal.match(/^(-?\d+)(\d{3})/)) {
returnVal = returnVal.replace(/^(-?\d+)(\d{3})/, '$1,$2');
}
return returnVal;
}
//입력과 동시에 천단위 콤마 찍기
function Incredit_comma(obj){
var s = parseFloat(obj.value.replace(/\,/g, ""));
var ns = s.toString();
var dp;
if (isNaN(ns))
return "";
dp = ns.search(/\./);
if (dp < 0)
dp = ns.length;
dp -= 2;
while (dp > 0) {
ns = ns.substr(0, dp) + "," + ns.substr(dp);
dp -= 3;
}
obj.value = ns;
return true;
}
//특정문자 제거
function filter(str){
re = /^\$|,|-/g;
// "$" and "," and "-"입력 제거
return str.replace(re, "");
}
//-->
</SCRIPT>
</head>
<body><br>
<form name="fwrite" action="">
가격*
<input type="text" name="price" onkeypress="Incredit_comma(this);" onkeyup="autocal('0',this);" value="0" size="10">수량<input type="text" name="quantity" onkeypress="Incredit_comma(this);" onkeyup="autocal('0',this);" value="0" size="10">공급가<input type="text" name="tot_price" value="0" size="10">부가세<input type="text" name="additional_tax" value="0" size="10">운송비<input type="text" name="transport" onkeypress="Incredit_comma(this);" onkeyup="autocal('0',this);" value="0" size="10">
<br>
소계*
<input type="text" name="subtotal" value="0" size="10" />
= 공급가+부가세 <br>
소계1
<input type="text" name="subtotal1" value="0" size="10" />
= 공급가+부가세+운송비<br>
소계2
<input type="text" name="subtotal2" value="0" size="10" />
= 공급가+운송비<br>
가격*
<input type="text" name="price" onkeypress="Incredit_comma(this);" onkeyup="autocal('1',this);" value="0" size="10" />수량<input type="text" name="quantity" onkeypress="Incredit_comma(this);" onkeyup="autocal('1',this);" value="0" size="10" />공급가<input type="text" name="tot_price" value="0" size="10" />부가세<input type="text" name="additional_tax" value="0" size="10" />운송비<input type="text" name="transport" onkeypress="Incredit_comma(this);" onkeyup="autocal('1',this);" value="0" size="10" />
<br>
소계*
<input type="text" name="subtotal" value="0" size="10" />
= 공급가+부가세<br>
소계1
<input type="text" name="subtotal1" value="0" size="10" />
= 공급가+부가세+운송비 <br>
소계2
<input type="text" name="subtotal2" value="0" size="10" />
= 공급가+운송비
<br>
<br>
<hr />
가격*
<input type="text" name="sum_price" value="0" size="10" />수량<input type="text" name="sum_quantity" value="0" size="10" />공급가<input type="text" name="sum_tot_price" value="0" size="10" />부가세<input type="text" name="sum_additional_tax" value="0" size="10" />운송비<input type="text" name="sum_transport" value="0" size="10" />
<br>
합계*
<input type="text" name="sum_subtotal" value="0" size="10" />
= 공급가+부가세 <br>
합계1
<input type="text" name="sum_subtotal1" value="0" size="10" />
= 공급가+부가세+운송비<br>
합계2
<input type="text" name="sum_subtotal2" value="0" size="10" />
= 공급가+운송비
<br>
<hr />
<br>
<br>
</form>
</body>
</html>