묻고답하기

http://www.seearch.co.kr/ts.jpg벌써 몇일재 이것만 하고 있습니다.


링크된 그림과 같이 빨간부분에 숫자를 바꾸면 파란부분에 합계가 자동으로 계산되도록 구현해야합니다.

숫자를 쓰는 칸과 합계칸에는 text input 박스가 있으며 스타일에서 테둘이를 하얀색으로 했기때문에 안보이는거구요

전 onkeypress와 onkeyup을 이용해서 onkeypress때 이미 기록되었던 숫자를 다른 히든인풋박스에 넣고 onkeyup때 새로 기록된 숫자와의 차이를 합계칸에 더해주는 방법을 생각했는데
처음엔 잘되는 거 같았는데

커서가 다른 숫자칸으로 이동할때도 onkeyup이벤트가 일어나는거 같았습니다.

그래서 결과적으로 커서가 다른칸으로 이동할때 앞에서 계산한 값이 합계에 한번 더 더해져서 틀려지더군요

그래서 if( !((47 < event.keyCode && event.keyCode < 58) || (event.keyCode == 08) || (event.keyCode == 46) )){.....와 같이 넣어봤는데 아스키코드가 48-57까지(그러니까 숫자) 는 잘 먹는거 같은데 08번(백스페이스)이나 46번(del키)으로 지울때는 이벤트가 안일어나더라구요.

아 그리구 del키 아스키값도 좀 이상해요. 표에서 찾아본바로는 126인가? 그랬는데 나모웹에서는 46으로 뜨더군요...

제가 써본 소스는 다음과 같구요

<SCRIPT LANGUAGE="JavaScript">
<!--
function calc_ready(obj,i,j,type){
        if( !((47 < event.keyCode && event.keyCode < 58) || (event.keyCode == 08) || (event.keyCode == 46) )){
                return false;
        }
        form1.temp_value.value= obj.value;
        form1.temp_i.value= i;
        form1.temp_j.value= j;
        form1.temp_type.value= type;

  return true;
  }

function calc(obj,i,j,type){
        if( !((47 < event.keyCode && event.keyCode < 58) || (event.keyCode == 08) || (event.keyCode == 46) ))
        return false;
        form1.temp.value= 1 * obj.value - 1 * form1.temp_value.value;

        if(type == 'p'){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.W_$ii.value= 1 * form1.W_$ii.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_$jj.value= 1 * form1.WP_$jj.value +1 * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.TSUM_$jj.value + 1 * form1.temp.value; n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }else if(type == 'ib1'){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.W_etc1_$ii.value= 1 * form1.W_etc1_$ii.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_etc1_$jj.value= 1 * form1.WP_etc1_$jj.value + 1 * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.TSUM_$jj.value + 1 * form1.temp.value; n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }else if(type == 'ib2'){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.W_etc2_$ii.value= 1 * form1.W_etc2_$ii.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_etc2_$jj.value= 1 * form1.WP_etc2_$jj.value + $jj * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.TSUM_$jj.value + $jj * form1.temp.value; n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }
  return true;
  }
function temp(){
        return false;
  }
//-->
</SCRIPT>

.
.
.
.
.


<input type='text' name='F_".$j."[]' size='1' value='".$workrec_time[$i][$k]."' class='lds_class' onkeypress=calc_ready(this,".$i.",".$j.",'p') onkeyup=calc(this,".$i.",".$j.",'p') onBlur=temp()>


아참 문제는 저 빨간부분의 가로 세로 갯수가 수시로 변한다는것입니다.

그래서 지금은 컬럼이

그래서 전체합을 다시 구하기에는...ㅜ.ㅜ

ONCHANGE이벤트마다 새로계산도 생각해봤는데..

새로계산에 딱 한가지 문제가 있습니다.

가로 세로 갯수가 수시로 변하고

저장기능을 생각해서

빨간부분의 text박스의 이름을

F_1[],F_2[],F_3[],F_4[].....
F_1[],F_2[],F_3[],F_4[].....
F_1[],F_2[],F_3[],F_4[].....
F_1[],F_2[],F_3[],F_4[].....
F_1[],F_2[],F_3[],F_4[].....

와 같이 만들었거든요

근데 새로계산하려니 자바스크립트에서

form1.F_1[1].value
form1.F_1[2].value
form1.F_1[3].value
form1.F_1[4].value...

와 같이 하면 필드를 인식못하는거 같던데..ㅜ.ㅜ


꼭 좀 부탁드립니다..ㅠ.ㅠ


글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
오병이어2 이미지 강제 출력 애드온을 지웠는데도~~ [2] file 2014.02.18 by 오병이어2
수정원 xe_official_v2 배경색 변경방법 [1] file 2014.02.18 by ForHanbi
soso 메뉴의 폰트를 바꾸고싶어요 [1] 2014.02.18 by ForHanbi
조인잡 1.7.4 업데이트후 문제가 이만 저만이 아니군요. [1] 2014.02.18 by ForHanbi
소이스 CONTACT US 깨짐 [5] 2014.02.18 by 착한악마
Xe초보자 새글 알림에 파일첨부 표시를 없게 하고싶습니다.. file  
inphyy 팝업 창 크기 조절은 어떻게 해야하나요? file  
기린782 경고 메시지 확인 좀 부탁드립니다.  
우니즈 스케치북5 갤러리형 수정..  
강신봉 몇일 전부터 갑자기 css 스타일(jquery등..)이 안먹는 것 같은 문제가.. [4] file 2014.02.18 by 강신봉
야옹이님 탈퇴를 1.7.3.8에서 금지하는 방법이 무엇인가요? [18] 2014.02.18 by BonaSera
순대애 소시랑 한줄메모 스킨 글자수 제한 없앨 수 있는 방법은 없나요? [1] 2014.02.18 by BJ람보
XE모듈 우측 배너떄문에 물어봅니다!! file  
물고기708 회원그룹추가 [5] 2014.02.18 by KrteamENT
미스백 로그인 페이지 이동 질문드립니다. [1] 2011.04.03 by 신군임니돠
홍순만619 로그인윗젯을 설치할려 하는데 방법을 모르겠습니다. ㅡ.,ㅡ [1] 2011.04.04 by 에혀라X
상해파 게시판 출력 순서 변경은 어떻게 해야 하나요?  
김선생™ 이번 1.4.5.2 업글후 첨부이미지파일명이.. [1] 2011.04.11 by 백성찬
제주촌닭 왼쪽 제일위 수정 방법 [2] 2011.04.13 by 제주촌닭
김영광609 게시판 제목클릭시 새창으로 열리게 하는방법좀.. 제발요 ㅠㅠ [1] 2011.04.14 by 제주촌닭
무야 위젯스타일에 언어코드로 다국어 제목 입력시 충돌 [2] 2011.04.18 by 무야
스반 탭 형태 최근 게시물 "더보기" 버튼을 넣는 방법?? [2] 2011.05.10 by 송동우
제주촌닭 본문 글 내용이 하얀바탕에 하얀색 글로 있어서 글이 안보입니다 [3] 2011.05.07 by 송동우
wings174 썸네일 관련 질문드립니다. [1] 2011.04.30 by 인간a
nexonx xe게시판의 위치에서 왼쪽에 여백을 둘 수는 없을까요..? [6] file 2011.04.26 by nexonx
한마음^^ 언어 변경 오류 [2] 2011.04.28 by guny
H-BNB 송동우님 봐주세요 [1] 2011.04.22 by 송동우
Ada지오 이미지 슬라이더 문제! (질문수정) [2] 2011.04.20 by 한마음^^
H-BNB 초보가 급한질문드립니다. [1] 2011.04.22 by 송동우
난자상학 이 게시판에 글을 쓸때 이미지를 같이 올리려면 어떻게 하는 겁니까? [1] 2011.04.18 by 새하나모