로그인

검색

2015.01.21 16:34

간단한 계산 소스

조회 수 1497 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form


<script type="text/javascript">
  function Display_num() {
    //대입 숫자
    var num1=document.getElementById("num1").value;
    var num2=document.getElementById("num2").value;
    var num3=document.getElementById("num3").value;

    //연산자
    var operation1=document.getElementById("operation1").value;
    var operation2=document.getElementById("operation2").value;
    //결과값 넣기
    document.getElementById("is_nums").innerHTML =eval(num1+operation1+num2+operation2+num3); 


  }
</script>


<input type="text" id="num1" style="width:70px;" value="" />
<select id="operation1" style="width:70px;">
<option value=''>연산</option>
<option value='*'>곱하기</option>
<option value='/'>나누기</option>
<option value='+'>더하기</option>
<option value='-'>빼기</option>
</select> 
<input type="text" id="num2" style="width:70px;" value="" />
<select id="operation2" style="width:70px;">
<option value=''>연산</option>
<option value='*'>곱하기</option>
<option value='/'>나누기</option>
<option value='+'>더하기</option>
<option value='-'>빼기</option>
</select> 
<input type="text" id="num3" style="width:70px;" value="" />


<br />
<br />
<br />
<div id="is_nums">계산 결과</div>
<br />
<a href="#" onclick="Display_num();return false;">계산하기</a>



------------------------------------------------------------------

설명

인풋 박스에 원하는 값을 넣고 셀렉트 박스 안의 연산자를 선택하면 셀렉트 박스의 value값은 선택한 값이
들어가게 됩니다
그러면 연산을 할수 있는 조건이 됩니다


<a href="#" onclick="Display_num();return false;">계산하기</a>
이부분에 의해 버튼을 크릭하게 되면 Display_num() 라는 함수가 호출되게 됩니다


    var num1=document.getElementById("num1").value;
    var num2=document.getElementById("num2").value;
    var num3=document.getElementById("num3").value;

대입하는 숫자의 인풋 박스 값을
변수로 지정해 줬습니다 계산을 넘기는 부분에 직접 써줘도 되지만 코드를 줄이고 보기 좋게하기 위해서입니다


    var operation1=document.getElementById("operation1").value;
    var operation2=document.getElementById("operation2").value;

마찬가지로 변수로 지정해 줬고 연산하는 셀렉트 박스의 value값입니다

    document.getElementById("is_nums").innerHTML =eval(num1+operation1+num2+operation2+num3); 

이부분이 is_nums라는 이름을 가진 div에 값을 넣어주게 됩니다

a=b;
a의 값은 b와 같다
차례 차례 받아온 값들을 나열해서 붙여주면 value값에 의해 연산이 됩니다 그 값을 제대로 표현하기 
위해서 eval(); 로 묶어줍니다


  • ?
    보석 2015.01.21 16:36
    <script>
    // 자동 계산 (딜러 할인)
    function avg_price() {
    goodsprice = parseFloat(form.goodsprice.value);
    commem_dc = parseFloat(form.commem_dc.value);
    form.totalprice.value = Math.round(goodsprice -((goodsprice * commem_dc) / 100));
    }

    // 숫자와 도트(.)만 허용
    function onlyDotNum(){
    var eCode = event.keyCode;
    if ( ! ( eCode == 46 || (( eCode > 47 && eCode < 58 )) ) )
    return false;
    }

    // 숫자만 허용
    function onlyNum() {
    if ((event.keyCode < 48) || (event.keyCode > 57)) {
    event.returnValue = false;
    }
    }
    </script>


    <form name="form">
    판매가입력 : <input name="goodsprice" type="text" size="15" maxlength="10" style="ime-mode:disabled;" onkeyup="avg_price();" onkeypress="onlyNum()" /> 원

    할인율입력: <input name="commem_dc" type="text" size="5" maxlength="3" style="ime-mode:disabled;" onkeyup="avg_price();" onkeypress="return onlyDotNum()" value="0" /> %

    할인가는 <input type="text" name="totalprice" size="5" value="0" readonly="" style="text-align:right" /> 원 입니다.
    </form>