묻고답하기

text박스에 onkeypress이벤트와 onkeyup이벤트에 스크립트 함수를 걸었습니다.

onkeypress -> 숫자를 누르기 전 숫자를 다른 text박스에 저장
onkeyup -> 변경된 숫자를 받아서 onkeypress 에서 저장한 수와의 차이를 전체합계 text박스에 더합니다.

이렇게해서 항상 전체합계가 계산되도록 하려고하는데

문제는 text박스에 처음 수를 쓸때는 잘 되지만 커서가 다른곳으로 이동할때도 onkeyup 이벤트가 일어나더군요

그래서 계산이 불필요하게 한번 더 일어나고 결과적으로 전체합계가 달라지게 되는 현상이

onkeyup 이 이벤트를 숫자키만 눌렀을때 일어나게 할 수 있나요?

아니면 커서가 옮겨질 때만이라도 안일어나게 하는 방법이나 다른 이벤트가 있으면 부탁드립니다.


-----------------------------소스가 좀 복잡해서..ㅡ.ㅜ-----------------------------------


<SCRIPT LANGUAGE="JavaScript">
<!--
function calc_ready(obj,i,j,type){
        form1.temp_value.value= obj.value;
        form1.temp_i.value= i;
        form1.temp_j.value= j;
        form1.temp_type.value= type;

        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.temp_sum1.value= form1.W_$ii.value n";
                                echo"tttt form1.temp_sum2.value= form1.WP_$jj.value n";
                                echo"tttt form1.temp_sum3.value= form1.TSUM_$jj.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.temp_sum1.value= form1.W_etc1_$ii.value n";
                                echo"tttt form1.temp_sum2.value= form1.WP_etc1_$jj.value n";
                                echo"tttt form1.temp_sum3.value= form1.TSUM_$jj.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.temp_sum1.value= form1.W_etc2_$ii.value n";
                                echo"tttt form1.temp_sum2.value= form1.WP_etc2_$jj.value n";
                                echo"tttt form1.temp_sum3.value= form1.TSUM_$jj.value n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }
  return true;
  }
function calc(obj,i,j,type){
        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.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_$jj.value= 1 * form1.temp_sum2.value +1 * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.temp_sum3.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum1.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum2.value= 1 * form1.temp_sum2.value +1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum3.value= 1 * form1.temp_sum3.value + 1 * form1.temp.value; n";
                                echo "form1.temp_value.value= '0'; n";
                                echo "form1.temp.value= '0'; 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.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_etc1_$jj.value= 1 * form1.temp_sum2.value + 1 * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.temp_sum3.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum1.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum2.value= 1 * form1.temp_sum2.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum3.value= 1 * form1.temp_sum3.value + 1 * form1.temp.value; n";
                                echo "form1.temp_value.value= '0'; n";
                                echo "form1.temp.value= '0'; 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.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_etc2_$jj.value= 1 * form1.temp_sum2.value + $jj * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.temp_sum3.value + $jj * form1.temp.value; n";
                                echo"tttt form1.temp_sum1.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum2.value= 1 * form1.temp_sum2.value + $jj * form1.temp.value; n";
                                echo"tttt form1.temp_sum3.value= 1 * form1.temp_sum3.value + $jj * form1.temp.value; n";
                                echo "form1.temp_value.value= '0'; n";
                                echo "form1.temp.value= '0'; n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }
  return true;
  }
//-->
</SCRIPT>

...
...
..

<input type='text' name='F_".$j."[]' size='1' value='' class='lds_class' onkeypress=calc_ready(this,".$i.",".$j.",'p') onkeyup=calc(this,".$i.",".$j.",'p')>
: 이런 text 박스가 수십개 있습니다.

합계 : <input type='text' name='W_".$i."' size='1' value='".$workrec_total_time[$i]."' class='lds_class'>
<input type='text' name='WP_".$j."' size='1' value='".$workrec_part1_time[$j]."' class='lds_class'>...............
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
젠이 회원정보에 포인트, 작성글수, 작성댓글수 나오게 하려면 어떻게 해야 되나요? [6] 2011.06.06 by 늘푸른이
정운일 xe를 설치하고서 로그인후에 로그인을 하면 모듈을 찾을 수 없다고합니다 [1] 2011.06.01 by 송동우
nexonx xe게시판에 글을 붙여넣기할 때 텍스트만 붙여넣기되도록 할 수 있는지요? [6] 2012.04.18 by sanpapa
cocoplick 혹시 게시글 추가 내용 출력 사용법아시는분 있으시나요?? [3] 2011.05.28 by cocoplick
칼퇴근 xe 관리자 모드 게시판 설정 화면이 없어요.... [1] 2011.05.19 by 송동우
토깽이2 파폭 4.0.1에서 로그인이 안되는이유가 뭘까요?? [7] 2020.03.14 by SangA
땀모 글쓰기할때 <style> css는 적용안되는건가요? [4] file 2014.02.18 by 땀모
davidis XE 와 django 웹서버 간의 sso [2] 2014.02.18 by davidis
davidis login post 전송시 데이터 보호 [2] 2014.02.18 by davidis
딸꾹질 에디터 바꿔쓸수 있도록 하기  
verysery 구글 네이버에 사이트 노출안되게 하는 방법이 있나요? [6] 2014.02.18 by davidis
davidis SSO 구현 아이디어  
심플XE zoom:1, no white wrap 의 역할은 무엇인가요? [1] 2014.02.18 by 닉이
xe초보자 레벨이랑 포인트 구분할줄 아는분? [6] 2014.02.18 by KrteamENT
qegqge 메뉴바+메인화면이름없애줄려면 무슨줄을삭제해야하나요? [2] 2014.02.18 by ForHanbi
솔개782 index에서 오류가 뜨는데요.. [7] 2014.02.18 by Omega3
생컨 스케치북 게시판 스킨 추가질문 드립니다. [2] file 2014.02.18 by 생컨
qegqge ForHanbi 님감사합니다 하나만더질문할게요 ㅠ [4] file 2014.02.18 by ForHanbi
qegqge 브라우저모드 질문합니다..다다르네요.. file  
서바이버 XML의 값을 Base64로 인코딩하는 방법을 가르쳐주십시요 [5] 2014.02.18 by Omega3
FireChrome PHP를 외부페이지로 사용하고싶습니다. [2] 2014.02.18 by FireChrome
Omega3 이 복권 스킨 어디서 받을 수 있나요. [1] 2014.02.18 by Omega3
edwar footer 질문입니다!!! [2] 2014.02.19 by edwar
FireChrome 혹시 도메인/test.php/?~~이런꼴을 서브도메인사용하는법아시는분?  
라피에르 1.7.4 쉬운업데이트 도중 문제가 발생했어요 ㅠㅠ [2] 2014.02.19 by 가도사
FireChrome 파일저장폴더의 퍼미션을 777로해도 괜찮을까요? [1] 2014.02.19 by 휘즈
genezza 댓글 입력창을 댓글리스트 아래에 위치하게 하고 싶은데요 [2] 2014.02.19 by genezza
kyh2301 레이아웃이 적용 안되는 문제 [3] 2014.02.19 by Bokmani
이온디 게시판 목록에서 글 한 개만 출력하기 [4] 2014.03.08 by foret
Xe초보자 리퍼러 통계 모듈이랑 대시보드에 시간대 접속자 수가 다릅니다..