자바스크립트에서 합계 처리.. > 그누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>

이렇게 바꾸어보았습니다.
반복문의 이름을 배열화 시켰습니다.
© SIRSOFT
현재 페이지 제일 처음으로