자바스크립트 계산인데요.. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

자바스크립트 계산인데요.. 정보

자바스크립트 계산인데요..

첨부파일

auto.php (14.4K) 14회 다운로드 2007-05-09 10:19:19

본문

실시간 자동견적인데요, 마지막에 통합계를 내는 걸 어떻게 해야되는 지 모르겠어요.
 
<script language='JavaScript'>
/// VAT 계산 하기 //////////
//////////////////////// 문자열 치환 //////////////////////
function replace(str,sstr,rstr) { // 문자열 치환
return String(str).replace(new RegExp(sstr,"ig"),rstr);
}
//////////////////////// 문자열 치환 //////////////////////
//////////// 실시간 콤마 /////////////////////
function tagin_net_comma(tagin_net_str) {
var t_align = "right"; // 텍스트 필드 정렬
var t_num = tagin_net_str.value.substring(0,1); // 첫글자 확인 변수
var num = /^[/,/,0,1,2,3,4,5,6,7,8,9,/]/; // 숫자와 , 만 가능
var tagin_netValue = "";
var tagin_netValue2 = "";
if (!num.test(tagin_net_str.value)) {
alert('숫자만 입력하십시오.nn특수문자와 한글/영문은 사용할수 없습니다.');
tagin_net_str.value="";
tagin_net_str.focus();
return false;
}
if ((t_num < "0" || "9" < t_num)){
alert("숫자만 입력하십시오.");
tagin_net_str.value="";
tagin_net_str.focus();
return false;
}
for(i=0; i<tagin_net_str.value.length; i++) {
if(tagin_net_str.value.charAt(tagin_net_str.value.length - i -1) != ",") {
tagin_netValue2 = tagin_net_str.value.charAt(tagin_net_str.value.length - i -1) + tagin_netValue2;
}
}
for(i=0; i<tagin_netValue2.length; i++) {
if(i > 0 && (i%3)==0) {
tagin_netValue = tagin_netValue2.charAt(tagin_netValue2.length - i -1) + "," + tagin_netValue;
} else {
tagin_netValue = tagin_netValue2.charAt(tagin_netValue2.length - i -1) + tagin_netValue;
}
}
tagin_net_str.value = tagin_netValue;
tagin_net_str.style.textAlign = t_align;
}
//////////// 실시간 콤마 /////////////////////
///////////////// 콤마 나누는 부분 ////////////////
function commaSplit(srcNumber) {
var txtNumber = '' + srcNumber;
var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
var arrNumber = txtNumber.split('.');
arrNumber[0] += '.';
do {
arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
}
while (rxSplit.test(arrNumber[0]));
if (arrNumber.length > 1) {
return arrNumber.join('');
}
else {
return arrNumber[0].split('.')[0];
}
}
///////////////// 콤마 나누는 부분 ////////////////
function tagin_net_vat(){
var f = document.tagin_netform;
var tagin_net_vat_rate = (f.tagin_net_rate.value);
var tagin_net_money = replace(f.tagin_net_money.value,',','');
var tagin_net_vat_money= (tagin_net_money * tagin_net_vat_rate);
//var tagin_net_vat_money_plus = (tagin_net_vat_money - (tagin_net_money * -1));
f.tagin_net_vat_money.value = commaSplit(parseInt(tagin_net_vat_money));
//f.tagin_net_vat_money_plus.value = commaSplit(parseInt(tagin_net_vat_money_plus));
}
function tagin_net_vat2(){
var f = document.tagin_netform;
var tagin_net_vat_rate2 = (f.tagin_net_rate2.value);
var tagin_net_money2 = replace(f.tagin_net_money2.value,',','');
var tagin_net_vat_money2 = (tagin_net_money2 * tagin_net_vat_rate2);
f.tagin_net_vat_money2.value = commaSplit(parseInt(tagin_net_vat_money2));
}
function tagin_net_vat3(){
var f = document.tagin_netform;
var tagin_net_vat_rate3 = (f.tagin_net_rate3.value);
var tagin_net_money3 = replace(f.tagin_net_money3.value,',','');
var tagin_net_vat_money3 = (tagin_net_money3 * tagin_net_vat_rate3);
f.tagin_net_vat_money3.value = commaSplit(parseInt(tagin_net_vat_money3));
}
function tagin_net_vat4(){
var f = document.tagin_netform;
var tagin_net_vat_rate4 = (f.tagin_net_rate4.value);
var tagin_net_money4 = replace(f.tagin_net_money4.value,',','');
var tagin_net_vat_money4 = (tagin_net_money4 * tagin_net_vat_rate4);
f.tagin_net_vat_money4.value = commaSplit(parseInt(tagin_net_vat_money4));
}
function tagin_net_vat5(){
var f = document.tagin_netform;
var tagin_net_vat_rate5 = (f.tagin_net_rate5.value);
var tagin_net_money5 = replace(f.tagin_net_money5.value,',','');
var tagin_net_vat_money5 = (tagin_net_money5 * tagin_net_vat_rate5);
f.tagin_net_vat_money5.value = commaSplit(parseInt(tagin_net_vat_money5));
}
 
여기 tagin_net_vat부터 tagin_net_vat5까지의 항목을 합계하는
function total_vat를 작성하고 싶어요.
 가 위에까지의 결과예요~
 
실시간 자동합계가 되야하는데ㅠㅠ
  • 복사

댓글 전체

아래 스크립트를 삽입하시구요.

function hab(f){
if(f.tagin_net_vat_money.value) money1 = parseInt(replace(f.tagin_net_vat_money.value,',',''));
else money1 = 0;
if(f.tagin_net_vat_money2.value) money2 = parseInt(replace(f.tagin_net_vat_money2.value,',',''));
else money2 = 0;
if(f.tagin_net_vat_money3.value) money3 = parseInt(replace(f.tagin_net_vat_money3.value,',',''));
else money3 = 0;
if(f.tagin_net_vat_money4.value) money4 = parseInt(replace(f.tagin_net_vat_money4.value,',',''));
else money4 = 0;
if(f.tagin_net_vat_money5.value) money5 = parseInt(replace(f.tagin_net_vat_money5.value,',',''));
else money5 = 0;

f.total_money.value = commaSplit(money1 + money2 + money3 + money4 + money5);
}

function tagin_net_vat() 에서 function tagin_net_vat5() 까지의 펑션의 젤 마지막에
hab(f); 를 넣으세요.

예를 들어
function tagin_net_vat(){
var f = document.tagin_netform;
var tagin_net_vat_rate = (f.tagin_net_rate.value);
var tagin_net_money = replace(f.tagin_net_money.value,',','');
var tagin_net_vat_money= (tagin_net_money * tagin_net_vat_rate);
f.tagin_net_vat_money.value = commaSplit(parseInt(tagin_net_vat_money));
hab(f);
}

이런 식으로요. 그러면 실시간 계산 될겁니다.
© SIRSOFT
현재 페이지 제일 처음으로