포기하기에는 넘넘 시간을 많이 시간 투자했어요 > 그누4 질문답변

그누4 질문답변

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

포기하기에는 넘넘 시간을 많이 시간 투자했어요 정보

포기하기에는 넘넘 시간을 많이 시간 투자했어요

첨부파일

write.skin.php (45.8K) 7회 다운로드 2010-02-22 07:04:15

본문

http://www.shhospital.co.kr/gnuboard4/bbs/write.php?bo_table=board_3
하단 부분 진한 회색부분입니다.
첨부파일로 write.skin.php올렸어요

아래 자바스크립트에서 빨간 글씨부분을 잘라내고 작동하면 정상적으로 작동합니다..
빨간부분은 운송비가 추가되어 공급가에 운송비를 곱해서 나온 값이 모두 2개인데 이것의 합산 값입니다........아래대로 작동하면 공급가 합계 부가세 등의 합계값이 엉켜버려요
빨간 부분을 삭제하면 나머지는 정상작동해요
몇일간 많이 터득해서 정리 단계인데 결국 또막히네요....
좀 도와주세요.......................................
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>
<link rel="stylesheet" href="<?=$board_skin_path?>/ssx.css" type="text/css">
<!-- 김선용 2005.4 - ff(불여우) 에서는 innerhtml 사용시 폼이 <table> 아래에 있으면 인식하지 못합니다. -->
<style type="text/css">
<!--
.style7 {color: #FF6600}
.style8 {color: #FF9900}
-->
</style>
<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('숫자만 입력하십시오.특수문자와 한글/영문은 사용할수 없습니다.');
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.fwrite;
var tagin_net_money = replace(f.tagin_net_money.value,',','');
var tagin_net_qty = replace(f.tagin_net_qty.value,',','');

var tagin_net_a= f.tagin_net_a.value.replace(/,/g,'') *1;  //곱하기 1

var tagin_net_amount= (tagin_net_money * tagin_net_qty);
var tagin_net_vat_amount = (tagin_net_amount * 0.1);

var tagin_net_a= (tagin_net_a); // 추가
var tagin_net_aa= tagin_net_amount + tagin_net_a; // 추가

f.tagin_net_amount.value = tagin_net_amount;     
f.tagin_net_vat_amount.value = tagin_net_vat_amount;
f.tagin_net_aa.value = tagin_net_aa; // 추가

hab(f);
hac(f);


function tagin_net_vat2(){
var f = document.fwrite;
var tagin_net_money2 = replace(f.tagin_net_money2.value,',','');
var tagin_net_qty2 = replace(f.tagin_net_qty2.value,',','');

var tagin_net_b= f.tagin_net_b.value.replace(/,/g,'') *1;  //곱하기 1

var tagin_net_amount2= (tagin_net_money2 * tagin_net_qty2);
var tagin_net_vat_amount2 = (tagin_net_amount2 * 0.1);

var tagin_net_b= (tagin_net_b); // 추가
var tagin_net_bb= tagin_net_amount2 + tagin_net_b; // 추가

f.tagin_net_amount2.value = parseInt(tagin_net_amount2);
f.tagin_net_vat_amount2.value = parseInt(tagin_net_vat_amount2);
f.tagin_net_bb.value = tagin_net_bb; // 추가 
hab(f);
hac(f);
}

function hab(f){
if(f.tagin_net_amount.value) money1 = parseInt(replace(f.tagin_net_amount.value,',',''));
else money1 = 0;
if(f.tagin_net_amount2.value) money2 = parseInt(replace(f.tagin_net_amount2.value,',',''));
else money2 = 0;

f.total_money.value = money1 + money2
}

function hac(f){
if(f.tagin_net_vat_amount.value) vat1 = parseInt(replace(f.tagin_net_vat_amount.value,',',''));
else vat1 = 0;
if(f.tagin_net_vat_amount2.value) vat2 = parseInt(replace(f.tagin_net_vat_amount2.value,',',''));
else vat2 = 0;

f.total_vat.value = vat1 + vat2
had(f)
}

function hab(f){
if(f.tagin_net_aa.value) aa1 = parseInt(replace(f.tagin_net_aa.value,',',''));
else aa1 = 0;
if(f.tagin_net_bb.value) bb2 = parseInt(replace(f.tagin_net_bb.value,',',''));
else bb2 = 0;
f.total_aaa.value = aa1 + bb2
//had(f)
}

function had(f){
if(f.total_money.value) money_all = parseInt(replace(f.total_money.value,',',''));
else money_all = 0;
if(f.total_vat.value) vat_all = parseInt(replace(f.total_vat.value,',',''));
else vat_all = 0;
f.total_amount.value = money_all + vat_all
}
</script>

<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?>">

<!-- 게시글 보기 시작 -->

<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td width="803">
<colgroup width=100>
<colgroup width=''>

<tr><td align="center"><table width="<?=$width?>" border="0" cellspacing="0" cellpadding="0">
<tr><td><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>
<td width="280" height=1 bgcolor=#e7e7e7></td>
</tr>
<tr>
<td height=1 bgcolor=#e7e7e7></td>
</tr>
<tr align="center" valign="top">
<td >

<!-- 8등급이상자만 활성화 -->       
  <table width="100%" border="1" cellspacing="0" cellpadding="0">
   <tr>
  <td align="right" bgcolor="#666666"><br>
    <span class="style7">*단가-운송액-수량 순으로 입력합니다.변경후 반드시 수량재 입력 합니다 .</span><br />
   
    <script language="javascript"> check_byte('wr_content', 'char_count'); </script>
    <script src='<?=$board_skin?>/docu_tax.js'></script>
    <table width="99%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" style="border-collapse:collapse">
   <tr align="center">
     <td height="25" class="style7">no</td>
      <td width="24%" class="style7">품목</td>
      <td width="6%" class="style7">규격</td>
      <td width="6%" class="style7">수량</td>
      <td width="13%" class="style7">단가</td>
      <td width="7%" class="style7">공급가액</td>
      <td width="8%" class="style7"> </td>
      <td width="15%" class="style7">운송액</td>
      <td width="15%" class="style7">소계</td>
    </tr>
   <tr>
     <td height="25" align="center">1</td>
      <td align="center"> </td>
      <td align="center"><input class='ed' maxlength=3 size=5 name=wr_41id="wr_41" onkeydown='onlyNumber(this);' itemname="규격"  value="<?=$write[wr_41]?>"></td>
      <td align="center"><input type="text" name="wr_46" id="tagin_net_qty" style="text-align:right;" onKeyUp="tagin_net_vat()" value="<?=$write[wr_46]?>" size="4" itemname="tagin_net_qty" class="no_border2" /></td>
      <td align="center"><input type="text" name="wr_47" id="tagin_net_money" style="text-align:right;" onKeyUp="tagin_net_vat()" value="<?=$write[wr_47]?>" size="13" itemname="tagin_net_money" class="no_border2" /></td>                   <td align="center"><input type="text" name="wr_48" id="tagin_net_amount" value="<?=$write[wr_48]?>" onFocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="15" class="no_border2" /></td>
      <td align="center"><input type="text" name="c[26]" id="tagin_net_vat_amount" value="<?=$c[26]?>"  onFocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="10" class="no_border2" /></td>
      <td align="center"><input type="text" name="wr_49" id="tagin_net_a" style="text-align:right;" onKeyUp="tagin_net_a()" value="<?=$write[wr_49]?>" size="13" itemname="tagin_net_a" class="no_border2"></td>
      <td align="center"><input type="text" name="wr_50" id="tagin_net_aa" value="<?=$write[wr_50]?>" onFocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="15" class="no_border2" /></td>
    </tr>
   <tr>
     <td height="25" align="center">2</td>
      <td align="center"> </td>
      <td align="center"><input class='ed' maxlength=3 size=5 name=wr_42 id="wr_42" onkeydown='onlyNumber(this);' itemname="규격"  value="<?=$write[wr_42]?>"></td>
      <td align="center"><input type="text" name="wr_51" id="tagin_net_qty2" style="text-align:right;" onKeyUp="tagin_net_vat2()" value="<?=$write[wr_51]?>" size="4" itemname="tagin_net_qty2" class="no_border2" /></td>
      <td align="center"><input type="text" name="wr_52" id="tagin_net_money2" style="text-align:right;" onKeyUp="tagin_net_vat2()" value="<?=$write[wr_52]?>" size="13" itemname="tagin_net_money2" class="no_border2" /></td>
      <td align="center"><input type="text" name="wr_53" id="tagin_net_amount2" value="<?=$write[wr_53]?>" onFocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="15" class="no_border2" /></td>
      <td align="center"><span class="style7">
        <input type="text" name="c[27]" id="tagin_net_vat_amount2" value="<?=$c[27]?>"  onFocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="10" class="no_border2" />
      </span></td>
      <td align="center"><input type="text" name="wr_54" id="tagin_net_b" style="text-align:right;" onKeyUp="tagin_net_b()" value="<?=$write[wr_54]?>" size="13" itemname="tagin_net_b" class="no_border2"></td>
      <td align="center"><input type="text" name="wr_55" id="tagin_net_bb" value="<?=$write[wr_55]?>" onFocus="this.blur()" readonly style="text-align:right;" maxlength="15" size="15" class="no_border2" /></td>
    </tr>
  
      <td height="25" align="center">9</td>
        <td> </td>
      <td align="center"> </td>
      <td align="center"> </td>
      <td> </td>
      <td colspan="3" align="right" bgcolor="#FF6600">소계합계</td>
      <td align="center" valign="middle" bgcolor="#FF6600"><span class="style7"><br>

        <input type="text" size="15" name="wr_71" id="total_aaa" value="<?=$write[wr_71]?>" onFocus="this.blur()" readonly style="text-align:right;" class="no_border2" />
      </span></td>
    </tr>
    <tr>
     <td height="25" align="center">11</td>
      <td align="center"> </td>
      <td colspan="3" align="center"><span class="style8">공급가합계
          <input type="text" size="11" name="wr_6" id="total_money" value="<?=$write[wr_6]?>" onFocus="this.blur()" readonly style="text-align:right;" class="no_border2" />
        </span></td>
      <td colspan="3" align="center">부가세합계
        <input type="text" size="10" name="wr_7" id="total_vat" value="<?=$write[wr_7]?>" onFocus="this.blur()" readonly style="text-align:right;" class="no_border2" /></td>
      <td align="center">총합계
        <input type="text" size="11" name="wr_8" id="total_amount" value="<?=$write[wr_8]?>" onFocus="this.blur()" readonly style="text-align:right;" class="no_border2" /></td>
    </table>
    
    <span class="style7">    </span></td>
   </tr>
     </table>
<tr>
<td height=1 bgcolor=#e7e7e7></td>
</tr>
</table>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr><td colspan=2 height=1 bgcolor=#b0adf5></td></tr>
<tr><td colspan=2 height=6></td></tr>
<tr>
<td width="100%" align="center" valign="top">
 <input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write_up.gif" border=0 accesskey='s'> 
 <a href="바탕화면/3.계산서_테스트/dada_/board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
<tr><td colspan=2 height=4></td></tr>
<tr><td colspan=2 height=1 bgcolor=#b0adf5></td></tr>
</table>

</td></tr>
</table>
</form>

<!---- 숫자만 입력받는 스크립터 --//-->
<script>
function onlyNumber(objtext1){
var inText = objtext1.value;
var ret;

for (var i = 0; i < inText.length; i++) {
ret = inText.charCodeAt(i);
if (!((ret > 47) && (ret < 58))) {
alert("숫자만을 입력하세요");
objtext1.value = "";
objtext1.focus();
return false;
}
}
if (objtext1.value.length==8) {
document.form1.RNI_idnum2.focus() ;
}
return true;
}
</script>
<script language="javascript">
<?
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
if ($is_admin)
{
echo "
if (typeof(document.fwrite.ca_name) != 'undefined')
{
 document.fwrite.ca_name.options.length += 1;
 document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].value = '공지';
 document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].text = '공지';
}";
}
?>

with (document.fwrite) {
if (typeof(wr_name) != "undefined")
 wr_name.focus();
else if (typeof(wr_subject) != "undefined")
 wr_subject.focus();
else if (typeof(wr_content) != "undefined")
 wr_content.focus();

if (typeof(ca_name) != "undefined")
 if (w.value == "u")
  ca_name.value = "<?=$write[ca_name]?>";
}

function html_auto_br(obj)
{
if (obj.checked) {
 result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
 if (result)
  obj.value = "html2";
 else
  obj.value = "html1";
}
else
 obj.value = "";
}

function fwrite_check(f)
{
var s = "";
if (s = word_filter_check(f.wr_subject.value)) {
 alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
 return;
}

if (s = word_filter_check(f.wr_content.value)) {
 alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
 return;
}

if (char_min > 0 || char_max > 0)
{
 var cnt = parseInt(document.getElementById('char_count').innerHTML);
 if (char_min > 0 && char_min > cnt)
 {
  alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
  return;
 } else if (char_max > 0 && char_max < cnt)
 {
  alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
  return;
 }
}

if (typeof(f.wr_key) != "undefined") {
 if (hex_md5(f.wr_key.value) != md5_norobot_key) {
  alert("자동등록방지용 빨간글자가 순서대로 입력되지 않았습니다.");
  f.wr_key.focus();
  return;
 }
}

document.getElementById('btn_submit').disabled = true;
document.getElementById('btn_list').disabled = true;

f.action = "./write_update.php";
f.submit();
}

</script>

 

댓글 전체

남이 만들어 놓은 이 긴 스크립트를 한줄 한줄 볼 수도 없는 노릇이고
뭐가 안된다는 것인지 모르겠지만 우선....
replace사용법이 틀렸다고 지난번 답변에서 얘기했는데...
금액 입력할 때 컴마를 넣어서 입력해 보세요

합계값이 엉켜버려요<== 에러나는 상황을 구체적으로 얘기해야 그 부분을 찾아볼텐데 이렇게 얘기해서야...
http://www.shhospital.co.kr/gnuboard4/bbs/write.php?bo_table=board_3
하단부분 진한 회색부분입니다.
첨부파일.write.skin.php 첨부했어요.................

답변감사합니다.
문장은 길지만  문장 전체를 복사혹은 첨부한파일을 스킨에 올리면 정상작동 됩니다...
빨간걸 제외하고 올리면 부가세용 원본이므로 운송비를 포함한 소계 합계만 출력이 안되고
공급가 합계.부가세합계 총합계가 정상출력됩니다...
그런데 빨간 걸 포함해서 올리면  운송비를 포함한 소계 합계만 출력이 되고 
공급가 합계는 안나오고 부가세 합계만 2번 나옵니다.....
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT