만약에 셀렉트 값 또는 라디오 버튼 값을 수정하면 값이 증가를 합니다.
본문
아래 소스는 합계를 내는 소스입니다.
체크박스는 문제가 없는데,
셀렉트 와 라디오 버튼을 선택을 하면 처음에는 선택값이 나오는데
만약에 셀렉트 값 또는 라디오 버튼 값을 수정하면 값이 증가를 합니다.
값이 수정(변경)한 값으로 대체가 되어야 하는데 증가를 하는데요.
어떻게 해결을 해야할지요.
감사합니다.
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" autocomplete="off">
<table width="360">
<tr>
<input type=hidden name=wr_1 value="<?=$write[wr_1]?>">
<input type=hidden name=wr_2 value="<?=$write[wr_1]?>">
<input type=hidden name=wr_3 value="<?=$write[wr_3]?>">
<!--
<input type=hidden name=wr_10 value="<?=$write[wr_10]?>">
-->
<input type=hidden name=hiddenwr_10 value="0">
</tr>
<tr bgcolor="ffffff">
<td bgcolor="#E6F7FF" width="168">
<select name='wr_1' class='ed' itemname='필수선택' onChange="this.form.wr_10.value=checkChoice(this);" required>
<option value="">선택하세요</option>
<option value='18000' <? if ($write[wr_1] == "18000") echo "selected";?>>18,000원</option>
<option value='26000' <? if($write[wr_1] == "26000") echo "selected"; ?>>26,000원</option>
<option value='36000' <? if($write[wr_1] == "36000") echo "selected"; ?>>36,000원</option>
</select>
</td>
</tr>
<tr bgcolor="ffffff">
<td bgcolor="#E6F7FF" width="168">
<input type="checkbox" name="wr_2" value="16000" onClick="this.form.wr_10.value=checkChoice(this);" >
<? if ($write[wr_2] == 16000) echo "checked";?> 박스광스</td>
<td width="182"> 6,000 p/30일 <p>1</td>
</tr>
<tr bgcolor="ffffff">
<td bgcolor="#E6F7FF" width="168">
<input type=radio name="wr_3" value="1000" onChange="this.form.wr_10.value=checkChoice(this);"> 1000원
<input type=radio name="wr_3" value="2000" onChange="this.form.wr_10.value=checkChoice(this);"> 2000원</td>
<td width="182"> 6,000 p/30일 <p>1</td>
</tr>
</table>
<tr>
<td>
<table width="361" cellpadding="5" cellspacing="1" bgcolor="cccccc" >
<tr>
<td width="80" align="center" bgcolor="#FFECEE" class="red"><b>포인트합계</b></td>
<td bgcolor="ffffff" width="258"><input type="text" name="wr_10" value="0" size="10"></td>
</tr>
</table>
</form>
<script language='javascript'>
function checkChoice(whichbox) {
with (whichbox.form) {
if (whichbox.checked == false) {
hiddenwr_10.value = parseInt(hiddenwr_10.value) - parseInt(whichbox.value);
} else {
hiddenwr_10.value = parseInt(hiddenwr_10.value) + parseInt(whichbox.value);
}
return(formatCurrency(hiddenwr_10.value));
}
}
function formatCurrency(num) {
num = num.toString().replace(/$|,/g,'');
if(isNaN(num)) { num = "0"; }
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) {
cents = "0" + cents;
}
return (num);
}
</script>
답변 2
<select name='wr_1' class='ed' itemname='필수선택' onChange="wr1=this.value;sum()" required>
<input type="checkbox" name="wr_2" value="16000" onClick="wr2= this.checked ? this.value : 0;sum();" >
<input type=radio name="wr_3" value="1000" onChange="wr3=this.value;sum();">
<input type=radio name="wr_3" value="2000" onChange="wr3=this.value;sum();">
<script>
var wr1 = 0, wr2 = 0, wr3 = 0;
function sum() { document.forms.fwrite.elements.wr_10.value = parseInt(wr1) + parseInt(wr2) + parseInt(wr3);}
</script>
슈와이님, 답변 대단히 감사드립니다.
적용했습니다.
답변을 작성하시기 전에 로그인 해주세요.