채택완료

라디오 버튼에서요 인자 각각 버튼마다 값을 다르게 주었는데 특정라디오버튼으로 값이 나와요.

2014-06-05 (목) 10:57:15 4,910
<form name="fr" style="font-family:'돋움'; font-size:10px;"> 
 <table border="0" cellspacing="0" cellpadding="0" width="900" align="center"  class="table02">
    <tr>
        <td  height="40" align="center"  bgcolor="#F7F7F7">
            <font color="#17365D">DVR</font>
        </td>
        <td  > 
         4CH <INPUT  type="radio" value="300000" width="80" name="kind1"  onclick="javascript:sum();" >
         대
        </td>
        <td  > 
         8CH <INPUT  type="radio" value="600000" width="80" name="kind1"  onclick="javascript:sum();" >
         대
        </td>
       
        <td  > 
         16CH <INPUT  type="radio" value="900000" width="80" name="kind1" onclick="javascript:sum();" >
         대
        </td>
 
    </tr>
 <tr>
        <td  height="40" align="center" bgcolor="#F7F7F7">
       
            <font color="#17365D">카메라대수</font>
        </td>
       
            <td colspan="3"  align="center" bgcolor="#F7F7F7" height="40">
            실내돔적외선<INPUT type="TEXT"  id="dom" name="dom"  onkeyup="javascript:sum();" ></textarea> 대
            </td>
  
    </tr>
    <tr align="center">
        <td bgcolor="#F7F7F7"  height="40" >
            요금표
        </td>
        <td colspan="3" >
            <input type="text"  name="total" id="total" value="" class="button" width="120" readonly style="text-align:right">
         </td>
      </tr>
   
</table>
</form>
<script> 
function sum() { 
var fr = document.fr;  //젤 먼저...
var dom = fr.dom.value;
var total;

var total=0;
if (fr.kind1[0].checked==true)
 
 {

total = 300000 + dom * 50000 ;
 total =  Math.floor(total/10) * 10  ;
fr.total.value = total; 
  
 }
 else if (fr.kind1[1].checked==true)
 
{
total = 600000 + dom * 50000 ;
total =  Math.floor(total/10) * 10  ;
fr.total.value = total; 
}
 else  (fr.kind1[2].checked==true)
 
{
total = 900000 + dom * 50000 ;
total =  Math.floor(total/10) * 10  ;
fr.total.value = total; 
}
 
}
 
</script>
 
4ch / 8ch / 16ch 버튼마다 값이 저렇게 달리 해놨는데..
어떤 라디오 버튼을 선택해도 값이  16ch 로 값이 계산해지고 있어요..

 
|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트
2014-06-05 (목) 12:45:53
if문 다음에 (조건문) 오는건 아실거고
마지막에 쓰신 else(조건문)이 문제네요.
else 는 if(조건문)이 성립하지 않을때 처리를 위해 쓰는겁니다.
이 else 에는 if(조건문)이 아닌거라는 조건이 포함된 겁니다.
근데 else(조건문) 형태로 쓰셨네요.
else if(조건문) 형태로 쓰셔야죠.
아니면 else만 쓰시던지요.
alert을 중간 중간에 넣어서 들어오는 값 검증을 하세요.
그럼 이런거 때문에 스트레스 받으실 일 없을겁니다.
 

답변에 대한 댓글 1개

정말 정말 감사합니다. if ~ else if ~ else if ~ 3가지 조건문으로 답을 도출했습니다.
alert 값 거증하는 팁도 가르쳐 주셔서 너무나 감사 드립니다. 꾸벅^^*
이건 자바스크립트 sum함수 내용을 모르면 해결을 해 드릴수 없을 것 같은데요. 

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