<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(); 로 묶어줍니다
// 자동 계산 (딜러 할인)
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>