채택완료

[select-if 함수] 몇가지 셀렉트 목록을 클릭시에 해당하는 일정한 값이 나오게 견적소스를 짯는데 오류가 나와요.ㅜ.ㅜ

2014-03-08 (토) 15:39:43 6,259
<form name="frm" id="frm" action="">
<select id="product">
<option value=1000>컴퓨터A</option>
<option value=1500>컴퓨터B</option>
</select> <br />
<select id="rent_time">
<option value=45000>12개월</option>
<option value=90000>24개월</option>
</select> <br />
<select id="rent" onchange="javascript:sum();">
<option value=90000>소유권이전</option>
<option value=35000>소유권반납</option>
</select> <br />
<input type="text" name="opt_sum" value="" />
</form>
<script>
function sum() {
var opt_sum;
var frm=document.frm;
if(frm.product.value==1000 && frm.rent_time.value==45000 && frm.rent.value==90000) {
 opt_sum=1459;
}elseif(frm.product.value==1000 && frm.rent_time.value==45000 && frm.rent.value==35000) { //이줄에 드림위버 숫자에
 opt_sum=14535;                                                                                                          빨간마크가 떳어요.
}elseif(frm.product.value==1000 && frm.rent_time.value==90000 && frm.rent.value==90000) {
 opt_sum=199;
}elseif(frm.product.value==1000 && frm.rent_time.value==90000 && frm.rent.value==35000) {
 opt_sum=1935;
}elseif(frm.product.value==1500 && frm.rent_time.value==45000 && frm.rent.value==90000) {
 opt_sum=1459;
}elseif(frm.product.value==1500 && frm.rent_time.value==45000 && frm.rent.value==35000) {
 opt_sum=14535;
}elseif(frm.product.value==1500 && frm.rent_time.value==90000 && frm.rent.value==90000) {
 opt_sum=199;
}else(frm.product.value==1500 && frm.rent_time.value==90000 && frm.rent.value==35000) {
 opt_sum=1935;

frm.opt_sum.value=opt_sum;
}
</script>
 
 
보시는대로 해당소스를 페이지에 넣으니 결과값이 안나오고잇어요. 그냥 빈칸이 나와요.
지금소스에서는 드림위에 줄수에 빨간마크가 떳구여..ㅜ.ㅜ.
어디가 잘못된건지... 감이 안옵니다. 부디 살펴봐 주십시오.
 
|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트
Copy
<script> 
function sum() { 
	var opt_sum; 
	var frm=document.frm; 
	if(frm.product.value==1000 && frm.rent_time.value==45000 && frm.rent.value==90000) { 
		opt_sum=1459; 
	}
	else if(frm.product.value==1000 && frm.rent_time.value==45000 && frm.rent.value==35000)	{ //1
		opt_sum=14535;                                                                                                         
	}
	else if(frm.product.value==1000 && frm.rent_time.value==90000 && frm.rent.value==90000) { 
		opt_sum=199; 
	}
	else if(frm.product.value==1000 && frm.rent_time.value==90000 && frm.rent.value==35000) { 
		opt_sum=1935; 
	}
	else if(frm.product.value==1500 && frm.rent_time.value==45000 && frm.rent.value==90000) { 
		opt_sum=1459; 
	}
	else if(frm.product.value==1500 && frm.rent_time.value==45000 && frm.rent.value==35000) { 
		opt_sum=14535; 
	}
	else if(frm.product.value==1500 && frm.rent_time.value==90000 && frm.rent.value==90000) { 
		opt_sum=199; 
	}
	else{  //2
		opt_sum=1935; 
	} //3
	frm.opt_sum.value=opt_sum; 
}
</script>

1. else if는 elseif 이렇게 붙여 쓰면 안될겁니다.
2. 마지막 else 부분에 조건문이 들어갔네요. else에는 조건문이 안들어 갑니다.
3. else문 닫는 괄호가 없네요.

답변에 대한 댓글 1개

정말 명쾌한 답변 너무나 감사드립니다.^^.
한가지만 좀더 여쭈어 보겠습니다.^^:;
셀렉트조건이 현재 3번까지 있는데 컴퓨터종류 / 렌탈기간 / 렌탈료 이렇게 있습니다.
헌데 컴퓨터 종류와 렌탈기간 을 바꿔도 총금액이 변하지 않고 3번째 조건 렌탈료를 바꿔야
총금액이 변하고 있습니다. 이것을 컴퓨터 종류나 렌탈기간을 변경해도 실시간으로 변경하게 할려면
어떤 함수를 또 추가해야 하는지 감히 물어봅니다. ^^
만약 그게 아니라면 새로고침 버튼이 있다면 다시 셀렉트버튼을 새로 입력하게 만들수도 있다는 생각이 들었습니다. 새로고침을 버튼을 만들려면 어떻게 프로그램을 짜야하나요?^^:;

답변을 작성하려면 로그인이 필요합니다.