자바스크립트에서 합계 처리.. > 그누4 질문답변

그누4 질문답변

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

자바스크립트에서 합계 처리.. 정보

자바스크립트에서 합계 처리..

본문

 
위 링크에 올려주신 소스를 반복문으로 처리를 하려 합니다. 반복횟수는 상황에 따라 달라질수가 있기에 처리를 해보니 에러만 좌르르륵 쏟아 집니다...
 
역시 실력없는 삽질파의 한계를 느끼며 혹시나 아시는 분의 조언을 구해 봅니다.
 
원본소스 기준 설명입니다.
 
<form name="form1">

<!--- 여기부터 반복문으로 고쳐서--->
인트로(20만원)<input type=hidden name="intro" value="200000">  
수량: <input type=text name="intro_count" size=3 onkeyup="my_calc(this.form.intro, this.form.intro_count, this.form.intro_sum)">
합계: <input type=text name="intro_sum" size=6 readonly value="0"><br><br>
<!-- 여기까지를 돌리고  -->
 
메인(10만원)<input type=hidden name="main" value="100000">  
수량: <input type=text name="main_count"  size=3  onkeyup="my_calc(this.form.main, this.form.main_count, this.form.main_sum)">
합계: <input type=text name="main_sum" size=6 readonly value="0"><br><br>

서브페이지(2만원)<input type=hidden name="subpage" value="20000">  
수량: <input type=text name="subpage_count"  size=3 onkeyup="my_calc(this.form.subpage, this.form.subpage_count, this.form.subpage_sum)">
합계: <input type=text name="subpage_sum" size=6 readonly value="0"><br><br>
 
 
전체 합계: <input type=text name="total" size=9 value="0">
 

<script language="javascript">
  function my_calc(item, item_count, item_sum){
      if(item_count.value=="")    var count = 0;
      else                        var count = item_count.value;
      item_sum.value = eval(item.value) * eval(count) ;
      my_total(document.form1);
      
  }
  function my_total(f){
     //이부분에서 입력을 처리를 해야는데 eval(f.intro_sum.value)+ eval(f.main_sum.value) + eval(f.subpage_sum.value);  갯수에서 걸립니다..ㅠ.ㅠ
     //이부분을 어떻게 처리를 해야 할까용?.......ㅠ.ㅠ36.gif
     f.total.value = eval(f.intro_sum.value)+ eval(f.main_sum.value) + eval(f.subpage_sum.value);
  }
 
</script>
</form>
 
행복한 봄날 되세요....^^33.gif

댓글 전체

<form name="form1">

<?
$cnt = 반복횟수;

for($i=0;$i<$cnt;$i++){
?>
<!--- 여기부터 반복문으로 고쳐서--->
인트로(20만원)<input type=hidden name="intro[]" value="200000">
수량: <input type=text name="intro_count[]" size=3 onkeyup="my_calc(this.form.intro[<?=$i?>], this.form.intro_count[<?=$i?>], this.form.intro_sum[<?=$i?>])">
합계: <input type=text name="intro_sum[]" size=6 readonly value="0"><br><br>
<!-- 여기까지를 돌리고  -->
<?
}

$js_print = "";
for($i=0;$i<$cnt;$i++){
// 자바스크립트 출력부분
$js_print.="eval(f.intro_sum[$i].value)+";
}
?>
 
메인(10만원)<input type=hidden name="main" value="100000"> 
수량: <input type=text name="main_count"  size=3  onkeyup="my_calc(this.form.main, this.form.main_count, this.form.main_sum)">
합계: <input type=text name="main_sum" size=6 readonly value="0"><br><br>

서브페이지(2만원)<input type=hidden name="subpage" value="20000"> 
수량: <input type=text name="subpage_count"  size=3 onkeyup="my_calc(this.form.subpage, this.form.subpage_count, this.form.subpage_sum)">
합계: <input type=text name="subpage_sum" size=6 readonly value="0"><br><br>
 
 
전체 합계: <input type=text name="total" size=9 value="0">
 

<script language="javascript">
  function my_calc(item, item_count, item_sum){
      if(item_count.value=="")    var count = 0;
      else                        var count = item_count.value;
      item_sum.value = eval(item.value) * eval(count) ;
      my_total(document.form1);
     
  }

  function my_total(f){
    //이부분에서 입력을 처리를 해야는데 eval(f.intro_sum.value)+ eval(f.main_sum.value) + eval(f.subpage_sum.value);  갯수에서 걸립니다..ㅠ.ㅠ
    //이부분을 어떻게 처리를 해야 할까용?.......ㅠ.ㅠ
    f.total.value = <?=$js_print?> eval(f.main_sum.value) + eval(f.subpage_sum.value);
  }
 
</script>
</form>

이렇게 바꾸어보았습니다.
반복문의 이름을 배열화 시켰습니다.
전체 8 |RSS
그누4 질문답변 내용 검색

회원로그인

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